テキストフィールドで、複数の項目がすべて空欄だった場合、送信時ににアラートが表示されるようにしたいです。
・どれか一つでも入力されていれば送信できる
・全部が空欄だったらアラートで入力を促す
このような場合、どのようにプログラムを記述したらよいのか教えてください。
参考となるURLを教えていただいても、プログラムそのまま教えていただいてもどちらでもOKです。宜しくお願いいたします。
http://yusuke.homeip.net/soba/
URLはテストに使ったツールのURLです。
こんな感じでしょうか。
<form action="hoge" onsubmit="return check()">
name:<input type="text" name="name" id="name">
address:<input type="text" name="address" id="address">
<input type="submit" onsubmit="return check()">
</form>
<script>function check(){ if(document.getElementById("name").value == "" && document.getElementById("address").value==""){alert("どれか一つ入力してください");return false;}return true;}</script>
こんな感じでいかがでしょう。はてな記法に疎いので改行がなく読みにくいです。ごめんなさい。
<form action="hoge" onsubmit="return check()">
name1:<input type="text" name="name1" id="name1">
name2:<input type="text" name="name2" id="name2">
<input type="submit" onsubmit="return check()">
</form>
<script>function check(){ var entered= false; var count = 1; while(true){ var elem = document.getElementById("name"+count); if(!elem){ break; } if(elem.value !=""){ entered = true; } count++;} if(!entered){ alert("どれか一つ入力してください"); return false; }return true;}</script>
ありがとうございました!
ありがとうございます!
そう、このような感じです。
ちなみに、nameを
項目1、name="name1"
項目2、name="name2"
項目3、name="name3"・・・
のように、名前+数字で規則性を持たせたとき
プログラムの書き方をもっとスマートにさせることとかできるでしょうか?