アプリ版:「スタンプのみでお礼する」機能のリリースについて

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個程あります。

以上です
宜しくお願いします。

A 回答 (1件)

theForm.elementsにはサブミットボタンも含まれますので


当然ループ内の処理でサブミットボタンを考慮しなければいけません。
elementのtypeやname属性でチェック対象であるか判定するべきでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
指摘された点を考慮して再挑戦してみます。

お礼日時:2007/05/13 21:34

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