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

フォーム内のテキストボックスやチェックボックスでひとつでも未記入項目があると「未記入項目があります」のダイアログボックスを表示させて元の画面にもどりたいのですが

if(document.フォーム名.部品名.value == "") {
alert( "名前を記入してください" );
document.フォーム名.部品名.focus();
return false;
}
}
上のソースでは部品の数だけ同じ処理を書かないといけないのです。この中に全ての部品をまとめてひとつでも空欄があればエラー表示させる書き方はないでしょうか?

A 回答 (1件)

テキストフォームだけでいいのでしょうか?


チェックボックスやラジオボタン、リストボックス
があると、それなりの処理をいれなくてはいけません。

とりあえずということであればこんな感じです。
formをオブジェクトで関数にわたし、中身を
確認してヒットしたら処理をとめる
という流れは質問のフローとおなじです

<script language="javascript">
function checkFunc(f){
for (var i =0;i<f.length;i++){
if(f[i].tagName=="INPUT" && f[i].value==""){
alert(f[i].name+"を入力してください")
f[i].focus();
return false;
}
}
}
</script>

<form onSubmit="return checkFunc(this)" action="hoge.htm">
aaa:<input type="text" value="" name="aaa"><br>
bbb:<input type="text" value="" name="bbb"><br>
ccc:<input type="text" value="" name="ccc"><br>
<input type="submit" value="Go!"><br>
</form>
    • good
    • 0
この回答へのお礼

これ使えますね。ありがとうございます。

お礼日時:2006/03/15 10:38

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