下記の計算式(javascript)を既存のファイル(http://q.hatena.ne.jp/1181883010)に付け足したらエラーが出ます。
エラー内容:'document.calForm.a'はNullまたはオブジェクトではありません。
ヒントでもいただけるとありがたいのですが?
よろしくお願いいたします。
<script language="javascript">
function Cal()
{
// 入力したデータA
inputValueA = document.calForm.a.value - 0;
// 1つの計算式
ans1 = ( inputValueA * 3000 );
// 計算結果を出力
document.calForm.ans1.value = ans1;
}
//-->
</script>
<title>サンプル</title>
</head>
<body>
<form action="#" name="calForm">
<table>
<tr>
<td>登録人数</td>
<td><input type="text" name="a" value=""></td>
<td>(人)×3000円</td>
<td><input type="button" name="keisan" value="=" onClick="Cal();"></td>
<td><input type="text" name="ans1" value=""></td>
<td>円</td>
</tr>
</table>
エラー内容:'document.calForm.a'はNullまたはオブジェクトではありません
ファイル内で名前が衝突してないか確認してください。
とりあえず、問題のタグにidをつけてアクセスしてみたらどうでしょう。
< input id="hoge" />
inputValueA = parseInt(document.getElementById('hoge').value) ;
あまり自信ありませんが。
formタグが入れ子なっているのが原因かと思います。
下記のように実行すればうまくいきました。
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> <title>FormMail</title></head> <body bgcolor="#F1F1F1" text="#000000"> <h3>九州地区大会2007in都城【登録フォーム】</h3><input type="hidden" name="need" value="email 性別 ページ" /> <input type="hidden" name="match" value="email email2" /> おなまえ
<form>
<input type="text" name="name" size="35" />
メールアドレス
<input type="text" name="email" size="35" />
登録内容
<input type="radio" name="新規登録" value="新規登録" /> 新規登録 <input type="radio" name="変更" value="変更" /> 変更 <script type="text/javascript"> var listAry = { "(社)甘木・朝倉青年会議所":{"郵便番号":"950-3122","住所":"福岡県甘木市甘木955-11甘木商工会館3F","TEL":"0946-22-8930","FAX":"0946-21-1369","理事長":"藤木 仁士","専務理事":"福本 秀一"}, "(社)飯塚青年会議所":{"郵便番号":"820-0017","住所":"福岡県飯塚市菰田西3-18-11","TEL":"0948-23-0292","FAX":"0948-24-3471","理事長":"内藤 修也","専務理事":"野上 英敏"}, "(社)糸島青年会議所":{"郵便番号":"819-1112","住所":"福岡県前原市前原東3丁目8番23-203号","TEL":"092-323-2846","FAX":"092-324-3134","理事長":"古家 嘉康","専務理事":"肥田 剛"}, "(社)浮羽青年会議所":{"郵便番号":"839-1321","住所":"福岡県浮羽郡吉井町612-4","TEL":"09437-5-5124","FAX":"09437-5-5125","理事長":"林田 幸司","専務理事":"中野 竜司"}, "(社)大川青年会議所":{"郵便番号":"831-0016","住所":"福岡県大川市酒見早馬221-6大川商工会館内2F","TEL":"0944-86-5696","FAX":"0944-86-5674","理事長":"石山裕一郎","専務理事":"江口堅太郎"}, "(社)大牟田青年会議所":{"郵便番号":"836-0842","住所":"福岡県大牟田市有明町1-1-22","TEL":"0944-52-5663","FAX":"0944-56-5665","理事長":"泉 豊博","専務理事":"早田 孝弘"}, "(社)北九州青年会議所":{"郵便番号":"838-0122","住所":"福岡県小郡市松崎755-4","TEL":"0942-72-8137","FAX":"0942-72-5183","理事長":"中柴 崇","専務理事":"古野 吉孝"}, "(社)久留米青年会議所":{"郵便番号":"802-0082","住所":"福岡県北九州市小倉北区古船場1-35","TEL":"093-531-7910","FAX":"093-551-0212","理事長":"江﨑 公一","専務理事":"津福 一宏"}, "(社)田川青年会議所":{"郵便番号":"830-0022","住所":"福岡県久留米市城南町15-5久留米商工会館5F","TEL":"0942-38-5582","FAX":"0942-32-9855","理事長":"佐野 前明","専務理事":"村上 忠輔"}} function inputAry(val) { // alert(val) ; if(val != "") { document.forms[0].elements[1].value = listAry[val]["郵便番号"] ; document.forms[0].elements[2].value = listAry[val]["住所"] ; document.forms[0].elements[3].value = listAry[val]["TEL"] ; document.forms[0].elements[4].value = listAry[val]["FAX"] ; document.forms[0].elements[5].value = listAry[val]["理事長"] ; document.forms[0].elements[6].value = listAry[val]["専務理事"] } } function Cal() { // 入力したデータA inputValueA = document.forms[0].a.value - 0; // 1つの計算式 ans1 = ( inputValueA * 3000 ); // 計算結果を出力 document.forms[0].ans1.value = ans1; } //--> </script><select onchange="inputAry(this[this.selectedIndex].value);"> <option value="" selected="selected">LOM名をご選択下さい</option> <option value="(社)甘木・朝倉青年会議所">(社)甘木・朝倉青年会議所</option> <option value="(社)飯塚青年会議所">(社)飯塚青年会議所</option> <option value="(社)糸島青年会議所">(社)糸島青年会議所</option> <option value="(社)浮羽青年会議所">(社)浮羽青年会議所</option> <option value="(社)大川青年会議所">(社)大川青年会議所</option> <option value="(社)大牟田青年会議所">(社)大牟田青年会議所</option> <option value="(社)北九州青年会議所">(社)北九州青年会議所</option> <option value="(社)久留米青年会議所">(社)久留米青年会議所</option> </select>
</p> </form> </body> </html>
郵便番号
<input type="text" name="yubin" size="15"/>
事務局住所
<input type="text" name="jyusho" size="70"/>
事務局TEL
<input type="text" name="tel" size="20"/>
事務局FAX
<input type="text" name="fax" size="20"/>
理事長
<input type="text" name="rijicho" size="20"/>
専務理事
<input type="text" name="senmuriji" size="20"/>
担当責任者氏名
<input type="text" name="textfield5" />
緊急連絡先
<input type="radio" name="担当者" value="担当者" /> 担当者 <input type="radio" name="事務局" value="事務局" /> 事務局
大会登録 <input type="text" name="a" value=""> (人)×3,000円= <input type="button" name="keisan" value="計算" onClick="Cal();"> <input type="text" name="ans1" value=""> 円
大懇親会 <input type="text" name="textfield3" /> (人)×4,000円= <input type="text" name="textfield4" /> 円
メッセージ
<textarea name="メッセージ" rows="6" cols="50"></textarea>
<input type="submit" value="送信する" /> <input type="reset" value="リセット" />
タグの入れ子・・・
ありがとうございます。ゴールが見えてきました♪
inputValueA = document.calForm.a.value - 0;
↓変更
< input id="aa" />
inputValueA = parseInt(document.getElementById('aa').value) ;
「オブジェクトを指定してください」のエラーになってしまいました。