プロが教えるわが家の防犯対策術!

2つのフォームを作り、その2つを計算したいのですがオブジェクトの指定の仕方がエラーが出てしまい(オブジェクトを指定してくださいと出ます)わかりません。
どうか教えてください。
ちなみにforなどは使わなくても大丈夫ですのでよろしくお願いします。

function kei()
{
var kei1 = 0;

kei1=eval(document.A.a11.value) * eval(document.B.b21.value) ;
document.C.c11.value = kei1;
}


<table border = 1>
<form name="A">
<tr>
<td>
<input type = "text" size = 5 name = "a11"></input>
</td>
<td>
<input type = "text" size = 5 name = "a12"></input>
</td>
<td>
<input type = "text" size = 5 name = "a13"></input>
</td>
</tr>
<tr>
<td>
<input type = "text" size = 5 name = "a21"></input>
</td>
<td>
<input type = "text" size = 5 name = "a22"></input>
</td>
<td>
<input type = "text" size = 5 name = "a23"></input>
</td>
</tr>
</form>
</table>

<table boeder = 1>
<tr>
<input type = "button" onClick="kei()" value = "×"></input>
</tr>
</table>


<table border = 1>
<form name="B">
<tr>
<td>
<input type = "text" size = 5 name = "b21"></input>
</td>
<td>
<input type = "text" size = 5 name = "b22"></input>
</td>
<td>
<input type = "text" size = 5 name = "b23"></input>
</td>
</tr>
<tr>
<td>
<input type = "text" size = 5 name = "b31"></input>
</td>
<td>
<input type = "text" size = 5 name = "b32"></input>
</td>
<td>
<input type = "text" size = 5 name = "b33"></input>
</td>
</tr>
</form>
</table>
<table border = 1>
<form name="C">
<tr>
<td>
<input type = "text" size = 5 name = "c11"></input>
</td>
<td>
<input type = "text" size = 5 name = "c12"></input>
</td>
<td>
<input type = "text" size = 5 name = "c13"></input>
</td>
</tr>
<tr>
<td>
<input type = "text" size = 5 name = "c21"></input>
</td>
<td>
<input type = "text" size = 5 name = "c22"></input>
</td>
<td>
<input type = "text" size = 5 name = "c23"></input>
</td>
</tr>
</form>
</table>

A 回答 (3件)

>出来たらformはnameで設定したい



えーと、formにnameをつけるのは現在の決まりでは非推奨ですので
間違ったやり方を教えるのは不本意なので私からご提示できません。
不可能ではないのでどうしてもというのであればご自身の責任で
対応なさってみるのもよいでしょう。
    • good
    • 0
この回答へのお礼

現在は非推奨なのですね。
無知で申し訳ありません><
これからはidで統一していこうと思います。
本当にありがとうございました!

お礼日時:2007/12/13 23:46

かなり突っ込みどころが多いので、ざっと修正してこんな感じで



<head>
<script>
function kei(){
var form_a=document.getElementById('A');
var form_b=document.getElementById('B');
var form_c=document.getElementById('C');
var kei1 = 0;
kei1=parseInt(form_a.a11.value?form_a.a11.value:0) * parseInt(form_b.b21.value?form_b.b21.value:0) ;
form_c.c11.value = kei1;
}
</script>
<style>
form{
padding:0px;
margin:0px;
}
input.text{
width:3em;
text-align:right;
}
</style>
</head>
<body>
<form id="A">
<table border = 1>
<tr>
<td><input type="text" name="a11" class="text"></td>
<td><input type="text" name="a12" class="text"></td>
<td><input type="text" name="a13" class="text"></td>
</tr>
<tr>
<td><input type="text" name="a21" class="text"></td>
<td><input type="text" name="a22" class="text"></td>
<td><input type="text" name="a23" class="text"></td>
</tr>
</table>
<table border = 1>
<tr>
<td><input type="button" onClick="kei()" value = "x"></td>
</tr>
</table>
</form>
<form id="B">
<table border = 1>
<tr>
<td><input type="text" name="b21" class="text"></td>
<td><input type="text" name="b22" class="text"></td>
<td><input type="text" name="b23" class="text"></td>
</tr>
<tr>
<td><input type="text" name="b31" class="text"></td>
<td><input type="text" name="b32" class="text"></td>
<td><input type="text" name="b33" class="text"></td>
</tr>
</table>
</form>
<form id="C">
<table border = 1>
<tr>
<td><input type="text" name="c11" class="text"></td>
<td><input type="text" name="c12" class="text"></td>
<td><input type="text" name="c13" class="text"></td>
</tr>
<tr>
<td><input type="text" name="c21" class="text"></td>
<td><input type="text" name="c22" class="text"></td>
<td><input type="text" name="c23" class="text"></td>
</tr>
</table>
</form>
</body>

この回答への補足

ありがとうございます!書いてくださったソースではうまくいきました。
ただ、出来たらformはnameで設定したいのですが、その場合はどのようにすればうまくいくのでしょうか?

補足日時:2007/12/12 23:05
    • good
    • 0

記載されているソースで、こちらでは問題なく動作します(Win2000、IE6)。


エラーが再現できません。
入力欄が多数ありますが、記載されているソースだと使用する欄は2つですよね?
a11とb21に数字を入力し、×ボタンをクリックすると、問題なくc11に計算結果が入ります。
どのような場合にそのエラーが表示されますか?
再現できないので、助言ができません。

この回答への補足

こちらはWinXPのIE6です。
ボタンをクリックしてイベントを起こそうとすると「オブジェクトを指定してください」とエラーになります。

補足日時:2007/12/12 23:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!