- ベストアンサー
テキストフィールド未入力の場合アラートを出したい。
教えて下さい。 2つのテキストフィールドのどちらかを入力しないとアラートが出るようにしたいのですが、どうしたらよいのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
大丈夫です。 厳密に言うと、閲覧するブラウザを選ばないために、下記のようにするとモアベターです。 if (( document.forms['theForm'].elements['テキストフィールド名1'].length .length == 0) && …
その他の回答 (2)
- EUR
- ベストアンサー率61% (29/47)
テキストフィールドの指定は何でやっていますか? <input type="text" name="aaa">のようにnameですか? <input type="text" id="bbb">のようにidでしょうか? nameの場合のテキストフィールドの値を取得するには、 document.getElementsByName("aaa")[0].valueや IE限定でよければ document.all.aaa.valueで取得できます。 Idの場合は document.getElementById("bbb").valueや IE限定でよければ document.all.bbb.valueで取得できます。 左下に出てきたエラーの黄色いアイコンをダブルクリックして、詳細情報を表示することができますので、内容を提示していただけないでしょうか? また、テキストフィールドを3つにしたいとのことですが、if分の条件を3つにすればいけます。 以下に例を載せます <HTML> <head> <script language="javascript"> function CheckValue() { if ((document.getElementById("text_box").value.length == 0) && (document.getElementById("text_pass").value.length == 0) && (document.getElementById("text_area").value.length == 0))//3つの内容をチェック { alert("入力がありません!!!"); } } </script> </head> <body> <input type="text" name="text_box" id="text_box" value=""> <input type="password" name="text_pass" id="text_pass" value=""> <textarea name="text_area" id="text_area"></textarea> <input type="button" value="check" onClick="CheckValue()"> </body> </HTML>
お礼
再回答ありがとうございます。 テキストフィールドの指定はnameでしています。 下記のようにしたら一応動作はしているみたい?です。 (アラートが出ました) <SCRIPT LANGUAGE="JavaScript"> function checkInput(theForm){ if (( theForm.テキストフィールド名1.value.length == 0) && ( theForm.テキストフィールド名2.value.length == 0) && ( theForm.テキストフィールド名3.value.length == 0)) {alert ("入力がありません!"); return false;} return true } </SCRIPT> これであっていますでしょうか?
- EUR
- ベストアンサー率61% (29/47)
テキストフィールドの入力の取得は以下のような方法で取得できます。 IDが振ってある場合: document.getElementById("テキストフィールドのID").value Nameが振ってある場合: document.getElementsByName("テキストフィールドのName").value IE限定: document.all.テキストフィールドのIDまたはName.value この値のlengthを調べることで入力があったかどうかを判定することができます。 例、 if ((document.getElementById("テキストA").value.length == 0) && (document.getElementById("テキストB").value.length == 0)) //テキストA・テキストBともに空 { alert("入力がありません!!!"); }
お礼
回答ありがとうございます。 試してみたのですが、動作しませんでした。 (アラートが出ず、ウィンドウの左下に「ページでエラーが発生しました」と表記されました) ところで、初めは2つのテキストフィールドでと考えていたのですが、これを3つのテキストフィールドにする必要が出てきました。 3つの場合はどうしたらよいのかご存知でしょうか? ご存知でしたら、ご教授お願いします。
お礼
何度も丁寧に教えていただきありがとうございました。 おかげさまで、無事ページ作成でき、ほっとしています。 お世話になりました。