Javascriptの空欄チェックの質問です。

テキストフィールドで、複数の項目がすべて空欄だった場合、送信時ににアラートが表示されるようにしたいです。
・どれか一つでも入力されていれば送信できる
・全部が空欄だったらアラートで入力を促す
このような場合、どのようにプログラムを記述したらよいのか教えてください。
参考となるURLを教えていただいても、プログラムそのまま教えていただいてもどちらでもOKです。宜しくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/03/19 16:36:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:yusukey No.1

回答回数73ベストアンサー獲得回数2

ポイント35pt

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>

id:vanda

ありがとうございます!

そう、このような感じです。

ちなみに、nameを

項目1、name="name1"

項目2、name="name2"

項目3、name="name3"・・・

のように、名前+数字で規則性を持たせたとき

プログラムの書き方をもっとスマートにさせることとかできるでしょうか?

2007/03/19 16:07:25
id:yusukey No.2

回答回数73ベストアンサー獲得回数2

ポイント35pt

こんな感じでいかがでしょう。はてな記法に疎いので改行がなく読みにくいです。ごめんなさい。

<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>

id:vanda

ありがとうございました!

2007/03/19 16:36:03

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません