- 締切済み
3つテキストボックスすべてが未入力の場合アラートを出す方法(SUBMITボタンが3つある場合)
3個あるテキストボックスの内、 すべてが未入力の状態でいずれかのボタンをクリックすると アラートを出すプログラムを作りたいと思うのですが、 上手くいきません。 (ボタンが一つの場合は上手くいくのですが、3つに増やすと反応がおかしくなります) 別処理として、半角数字以外の文字を入れてもアラートが出る様にも 作りたく思っております。 以下に製作中の内容を記します。 どなたか教えていただければ大変助かります。 ======================= <hmtl> <script language="JavaScript" type="text/JavaScript"> function ChkFormVal(theForm) { var num=0; var tempnum,temp,i; var no_of_items=theForm.elements.length-1; for(i=0;i<no_of_items;i++) { temp=theForm.elements[i].value; tempnum=parseInt(temp); if(isNaN(tempnum)==true) { if(temp!="") { theForm.elements[i].value=""; alert("ご注文数量を入力してください(1)。なお、数量は半角数字で入力してください。"); //alert("debug"); return false; } else tempnum=0; } num+=tempnum; } if(num==0) { alert("ご注文数量を入力してください。なお、数量は半角数字で入力してください。"); return false; } else return true; } //--> </script> <body> <form name="hirano" method="post" action="online.asp" onSubmit="return ChkFormVal(this)"> ■ご注文数量1 <input type="text" name="a1" size="5"> <input type="submit" name="Submit" value="お届け情報の入力へ"> ■ご注文数量2 <input type="text" name="a3" size="5"> <input type="submit" name="Submit" value="お届け情報の入力へ"> ■ご注文数量2 <input type="text" name="a4" size="5"> <input type="submit" name="Submit" value="お届け情報の入力へ"> </form> </body> </hmtl> ======================= ※実際作ろうとしているモノはテキストボックス・ボタンが100個程あります。 以上です 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
theForm.elementsにはサブミットボタンも含まれますので 当然ループ内の処理でサブミットボタンを考慮しなければいけません。 elementのtypeやname属性でチェック対象であるか判定するべきでしょう。
お礼
ご回答ありがとうございました。 指摘された点を考慮して再挑戦してみます。