性格悪い人が優勝

異なるname属性のテキストの入力チェックについて

よろしくお願いします。
それぞれname属性の異なるテキスト群があるのですが、
どれかひとつに数字を入力しないと、アラートが出るようにしたいと思っています。

<form action="mail.cgi" method="post" onSubmit="return check(this);">
<input type="text" name="maru" />
<input type="text" name="sankaku" />
<input type="text" name="shikaku" />
</form>

この場合のコードの記述方法をお教え頂ければ幸いです。
どうぞよろしくお願い致します。

A 回答 (3件)

>「maru・sankaku・shikaku」の該当テキストを対象



ではこんな感じで

<script>
function check(f){
var err_flg=true;
for(var i=0;i<f.length;i++){
if(f[i].type=="text" && f[i].name.match(/^maru|sankaku|sikaku$/) && f[i].value.match(/^[0-9]+$/)){
err_flg=false;
break;
}
}
if(err_flg) alert("どこかに数字をいれて!");
return !err_flg;
}
</script>

<form action="mail.cgi" method="post" onSubmit="return check(this);">
<input type="text" name="maru" />
<input type="text" name="sankaku" />
<input type="text" name="shikaku" />
<input type="text" name="batu" value="ここはのぞく" />
<input type="submit" value="go!" />
</form>
    • good
    • 0
この回答へのお礼

度々ご回答頂きありがとうございます。
お教え頂いた方法で該当テキストだけをチェックすることが出来ました。

先日のPHPのタイトル取得の件も併せ、本当にありがとうございました。

お礼日時:2010/08/27 17:51

これじゃだめ、


function check(frm){
 re = new RegExp(/\d+?/);
 if((re.test(frm.maru.value)
+re.test(frm.sankaku.value)
+re.test(frm.shikaku.value))>0)
 return true;
 else {
  alert("どれかに数字を入れて!")
  return false;
 }
}
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。
こういった方法もあるんですね。こちらも参考にさせて頂きます。

ご回答頂き、本当にありがとうございました。

お礼日時:2010/08/27 17:55

テキストのデータを総なめしていいならこんなかんじ?



<script>
function check(f){
var err_flg=true;
for(var i=0;i<f.length;i++){
if(f[i].type=="text" && f[i].value.match(/^[0-9]+$/)){
err_flg=false;
break;
}
}
if(err_flg) alert("どこかに数字をいれて!");
return !err_flg;
}
</script>

<form action="mail.cgi" method="post" onSubmit="return check(this);">
<input type="text" name="maru" />
<input type="text" name="sankaku" />
<input type="text" name="shikaku" />
<input type="submit" value="go!" />
</form>

この回答への補足

さっそくご返答頂き誠にありがとうございます。
すみません、言葉足らずでした。

同フォーム内には、他に全角文字などを入力させるテキストが複数あるので、
できれば「maru・sankaku・shikaku」の該当テキストを対象にしたものだと助かります。

もしお手数でなければご教授頂けると幸いです。

補足日時:2010/08/26 18:45
    • good
    • 0

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