javascriptの質問です。

下記の計算式(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>

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2007/06/18 13:33:21
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:Yota No.1

回答回数453ベストアンサー獲得回数28

ポイント35pt

エラー内容:'document.calForm.a'はNullまたはオブジェクトではありません

ファイル内で名前が衝突してないか確認してください。

とりあえず、問題のタグにidをつけてアクセスしてみたらどうでしょう。

< input id="hoge" />

inputValueA = parseInt(document.getElementById('hoge').value) ;

http://dummy.com/

id:kaji0245

inputValueA = document.calForm.a.value - 0;

↓変更

< input id="aa" />

inputValueA = parseInt(document.getElementById('aa').value) ;

「オブジェクトを指定してください」のエラーになってしまいました。

2007/06/18 12:13:59
id:K_SUKE No.2

回答回数73ベストアンサー獲得回数5

ポイント35pt

あまり自信ありませんが。

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" /> おなまえ
<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>

<form>

<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>

郵便番号
<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="リセット" />

</p> </form> </body> </html>

http://yahoo.co.jp/

id:kaji0245

タグの入れ子・・・

ありがとうございます。ゴールが見えてきました♪

2007/06/18 13:32:54
  • id:Yota
    テストページがあるのがわかりませんでした。
    こちらでコピーしてみましたが、下の変更で動きます。
    <input type="text" id="a" value="">
    <input type="text" id="ans1" value="">
    document.getElementById('a')
    document.getElementById('ans1')

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません