• ベストアンサー

メールフォームの未入力チェック ラジオボタンの場合

メールフォームに、」ラジオボタンでA~Eの項目があります。これを仮に”koumoku”という名前をつけたとして、最初にはどこにもチェックを入れない状態で表示したいと思います。 それで、A~Eのどれかを必ず選択してもらいたいので送信前に未入力の場合にはアラーとを出したいのですが、 if(document.mail.Koumoku.value!='checked'){ window.alert('未入力個所があります。\nご確認ください。'); return false; } にすると、チェックしてもアラーとがでてきます。 また !='chekced' を =='' にすると、チェックが無くても通ってしまいます。 どうしたら良いのでしょうか?

  • karrie
  • お礼率92% (135/146)

質問者が選んだベストアンサー

  • ベストアンサー
  • s_doc
  • ベストアンサー率24% (93/377)
回答No.3

こういうのが好みです。 function onKoumokuCheck(_obj_) { for(var i=0; i<_obj_.length; i++) if(_obj_[i].checked) return(true); window.alert('未入力個所があります。\nご確認ください。'); return(false); } <FORM NAME=myForm METHOD=post ACTION="checked.htm" onSubmit="return(onKoumokuCheck(this.Koumoku))"> <INPUT TYPE=radio NAME=Koumoku VALUE=1> <INPUT TYPE=radio NAME=Koumoku VALUE=2> <INPUT TYPE=submit NAME=koumokuCheck VALUE=check> </FORM>

karrie
質問者

お礼

Java Script初心者のため、このプログラムを理解するのに時間がかかりました。(といってもまだちゃんと理解できたと思えないのですが)形としてすっきりしていて美しいと思いますので、試させていただきます。ありがとうございます。

その他の回答 (2)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.2

<HTML> <HEAD> <TITLE>ヘ(・、ヘ)ホイホイ(ノ、・)ノホイホイ</TITLE> <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript> <!-- function button1_onclick() { var chkbox = document.getElementsByName("checkbox1"); var flag=false; for(i=0;i<chkbox.length;i++){ if(chkbox[i].checked==true) flag=true; } if(!flag) window.alert("カカトオトシッ ( ・_・)_θ☆( >_<)ゲシッ"); } //--> </SCRIPT> </HEAD> <BODY> <P>こういうのはどう?<BR> NNでは動かないかも</P> <P><INPUT type=checkbox name=checkbox1></P> <P><INPUT type=checkbox name=checkbox1></P> <P><INPUT type=checkbox name=checkbox1></P> <P><INPUT type=checkbox name=checkbox1></P> <P><INPUT id=button1 type=button value=確認 name=button1 LANGUAGE=javascript onclick="return button1_onclick()"></P> </BODY> </HTML>

karrie
質問者

お礼

これは、‘flag’にチェックがあるなしをtrue,falseでいれて見分けているという形なのでしょうか。ここまで分かるのに10日間かかってしまいました。。。ので御礼が遅くなりました。勉強になりました。ありがとうございます。試してみます。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.1

Koumoku.checked==true が良いと思いますよ。

karrie
質問者

お礼

ありがとうございます。やってみたのですが、うまくいきません。他の所でつまずいているのかもしれません(T.T) 色々試してみますね。ありがとうございます。

関連するQ&A

  • フォームの入力チェックをすると既に入力した項目が消える

    実は過去のQ&Aの中でご紹介されていた ホームページを拝見させて頂いたのですが、 残念ながら私の応用力が足りず、 上手く作ることが出来ません。 下記のように書いてみたのですが、 これでは未入力のメッセージにOKを押すと その前に入力したものが全て消えてしまいます。 何方か、正しい書き方をご教示下さいますよう 宜しくお願い申し上げます。 <script language="JavaScript"> <!-- function checkForm(){ if(document.form1.chk1.checked == false && document.form1.chk2.checked == false) { alert('チェックなし'); return false; } { flag = 0; for ( i = 0 ; i < document.form1.radiobtn.length ; i++){ if (document.form1.radiobtn[i].checked){ flag = 1; } } if (!flag){ alert('ラジオなし'); return false; } if(document.form1.sel.selectedIndex == 0){ alert('メニューなし'); document.form1.sel.focus(); return false; } if(document.form1.bun.value == ""){ alert('文字なし'); document.form1.bun.focus(); return false; } } return true; } //--> </script>

  • フォームのチェックについて

    今、フォームの送信ボタンを押すとチェックする 関数を作成しております。 function restChar() { if(10000 < document.F1.ご質問内容.value.length) window.alert("ご質問内容は全角5,000字以内でお願いします"); } function check(){ var flag = 0; if(document.F1.name.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.F1.kana.value == ""){ // 「パスワード」の入力をチェック flag = 2; } else if(document.F1.mail.value == ""){ // 「コメント」の入力をチェック flag = 3; }      else if(document.F1.ご質問内容.value == ""){ // 「コメント」の入力をチェック flag = 4; } if(flag == 1){ window.alert('お名前を入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 2){ window.alert('フリガナを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 3){ window.alert('メールアドレスを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 }      if(flag == 4){ window.alert('ご質問内容を入力して下さい'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } fOBJ = document.F1.mail.value; check = /.+@.+\..+/; if (!fOBJ.match(check)){ window.alert("メールアドレスが正しくありません"); return false; // 送信を中止 } fOBJ = document.F1.ご質問内容.value.length; if(10000 < fOBJ){ window.alert("ご質問内容は全角5,000字以内でお願いします"); return false; // 送信を中止 } return true; // 送信を実行 } こんな感じです。 1-4のチェックは問題ないのですが、 アドレスと文字数のチェックは、一度は ダイアログがでますが、連続で押すと通ってしまいます。 何がわるいのでしょうか?

    • ベストアンサー
    • Java
  • フォーム入力チェックの効率のよいソース

    こんにちは、おせわになります。 アンケートを作っています。 内容が何項目かあり、そのうちの多くがラジオボタンによるものです。 入力チェックを行う際に下記のような形で行っておりますが、 ひとつの項目につき、ラジオボタンが10個ほど用意されてるものもあり、 10個分 document.forms.reason[0].checked==false) && と付け足していくのは効率が悪いとおもいます。 簡潔にソースを書くにはこの部分をどう書けばいいか教えてください。 多分forを使うのかなとは思いますが よくわかりません。 それと念のため補足ですが、ひとつの関数の中にすべてのチェックを入れたいので 性別のラジオボタン分の関数、年代のラジオボタン分の関数のように 分けずに書いています。 function aaa() { if ((document.forms.reason[0].checked==false) && (document.forms.reason[1].checked==false)){ alert("ボタンが未選択です"); return false ; } if ((document.forms.sei[0].checked==false) && (document.forms.sei[1].checked==false)){ alert("ボタンが未選択です"); return false ; } if ((document.forms.age[0].checked==false) && (document.forms.age[1].checked==false)&& (document.forms.age[2].checked==false)&& (document.forms.age[3].checked==false)){ alert("ボタンが未選択です"); return false ; } ・・・・・・・・・・・・・・・つづく } //--> </script> よろしくお願いします!

  • フォームの入力チェックについて

    下記のプログラムで、チェックボックスや、ラジオボタンの 入力チェックを行うと、 値自体は、$_POST['radio_check']にて取得できるのですが、Javascriptコンソールにて objElm has no propertiesと 出てしまいます。 外部ファイル部分 function requiredRadioCheck(objElm,strErr) { flag=false; for(i=0;i<objElm.length;i++){ if(objElm[i].checked){flag=true;} } if(!flag){ return strErr + "が入力されていません。 \r"; }else{ return ""; } } html部分 function chk(){ strErr=""; strErr+=requiredCheck(strErr+=requiredRadioCheck(document.Form.radio_check.value,"ラジオボタン"); strErr+=numberTypeCheck if(strErr==""){ return true; }else{ window.alert(strErr); return false; } }

  • ラジオボタンとセレクトボックスの選択チェック

    ラジオボタン、セレクトボタンの選択チェックをしたいのですが 同時にチェックする場合どうすればよいのでしょうか。 失敗策ですが、参考までに↓ function check() { var flag=0; if( document.form1.seibetu.length){ flag=1; var i; for(i=0; i<document.form1.seibetu.length; i++){ if(document.form1.seibetu[i].checked){ flag=0; break; } } } else{ if(!document.form1.seibetu.checked){ flag=1; } } if(flag){ window.alert('性別が選択されていません'); return false; } else{ return true; } if(document.form1.nenrei.options[document.form1.nenrei.selectedIndex]. value==""){ flag=1; } if(flag){ window.alert('年齢が選択されていません'); return false; } else{return true; } }

  • ラジオボタン未チェックの場合のアラート

    送信ボタンを押したときに、ラジオボタンが未チェックの場合に、アラートを出すように、 以下の内容でスクリプトを組んでいるのですが、チェックをしても アラートが出てしまいます。 あまりjavascript強くないので、自分では限界なので どなたか分かる方いらっしゃいましたらご指摘お願いします。 【HEAD内スクリプト】 function beforeSubmit(){ if(F1.NOUHIN[0].checked == false || F1.NOUHIN[1].checked == false || F1.NOUHIN[2].checked == false || F1.NOUHIN[3].checked == false || F1.NOUHIN[4].checked == false || F1.NOUHIN[5].checked == false){  alert("ご希望の納品時間を選んでください");  return false; } } 【BODY内ソース】 <form name=F1 action=mailto:****?subject=ORDER method=post encType=text/plain onSubmit="return beforeSubmit()" method="post" enctype="text/plain"> <input type="radio" name="NOUHIN" value="指定なし">指定なし <input type="radio" name="NOUHIN" value="午前">午前 <input type="radio" name="NOUHIN" value="14~16時">午後2~4時 <input type="radio" name="NOUHIN" value="16~18時">午後4~6時 <input type="radio" name="NOUHIN" value="18~20時">午後6~8時 <input type="radio" name="NOUHIN" value="20~21時">午後8~9時 </form>

  • phpでメール2重チェック機能をする方法

    現在メールフォームを作成してまして、 どうしてもメールの2重チェックがうまくいかずご質問させていただきました。 (ちなみにphp勉強中で初心者です) 現在php内で入力したものがjsのチェック機能と連動して、 入力エラーを表示させるようにしました。 メールアドレス部分は、 //メールアドレス入力チェック if(document.mailform.mail.value==""){ window.alert('メールアドレスを入力してください'); return false; // 送信を中止 } //メールアドレス入力チェック if(document.mailform.mail_fix.value==""){ window.alert('確認用メールアドレスを入力してください'); return false; // 送信を中止 } // PCメールアドレスチェック if(document.mailform.mail.value != "" ){ if (!document.mailform.mail.value.match(/^[A-Za-z0-9.-]+[\w-]+@[\w\.-]+\.\w{2,}$/)){ window.alert('メールアドレスをご確認ください'); document.mailform.mail.focus(); return false; // 送信を中止 } ここまで作成し、入力エラーまではでるようになりました。 ただ2重チェックがうまくいかず困っています。。。 ifelseというのでやるようなのですが、、、 わからなくなったので是非教えていただけますでしょうか。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 一括で入力のチェックをしたいのです!

    どなたか教えてください・・・ フツー入力チェックを行う場合 <SCRIPT language="JavaScript"> <!-- function Check(){ if(document.myform.Name.value==""){ alert("名前を入力してください。"); return false; } if(document.myform.Email.value==""){ alert("Eメールアドレスを入力してください。"); return false; } if(document.myform.Email.value.indexOf("@")<=0){ alert("Eメールアドレスが正しくありません。"); return false; } if(document.myform.Comment.value==""){ alert("コメントを入力してください。"); return false; } return true; } // --> </SCRIPT> こんなカンジで各フォーム毎にチェックを行い メッセージを出したりすると思うのですが、 フォーム数が多いため、入力のチェックを 一括で行いたいのですが・・・ JavaScriptを始めて間もないため とんちんかんな質問をしている様でしたら すみません。 どなたか入力チェックを一括で出来る方法を 教えて頂けないでしょうか・・・ お願いします。

  • メールアドレスの入力チェックをして、正しくなければ戻る方法

    今、フォームを作っているところなのですが、 各必須事項は入力されていないと戻るように設定していますが、同じ形でメールアドレスもチェックしたいのですが、その際にxxx@***.xxxという正規の形でないと引っ掛かるようにしたいのですが、どうすればよいでしょうか?お分かりの方、是非教えてください。 よろしくお願いします。 -------------------------------------------- 現在のスクリプトは以下のような感じです。 これでは、大文字などでメールアドレスを入れられてもチェックを通してしまいますので。。 function check(){ if(document.FF.お名前_漢字.value == ""){ alert("お名前_漢字を入力してください"); document.FF.お名前_漢字.focus(); return(false); } if(document.FF.住所.value == ""){ alert("住所を入力してください"); document.FF.住所.focus(); return(false); } if(document.FF.email.value == ""){ alert("メールアドレスを入力してください"); document.FF.email.focus(); return(false); } return(true); } -------------------------------------------- そして送信ボタンを押すと、このスクリプトが働くように、 onSubmit="return check()" を設定しています。

  • 入力チェックをしたいです。

    結構初心者です。 フォームに入力された内容をチェックしたいので、まず下記のように書きました。 <script Language="JavaScript"> <!-- function submitCheck(){ var flag = 0; // 設定開始(必須にする項目を設定します) if(document.insert.MatterID.value == ""){ flag = 1; } else if(document.insert.name.value == ""){ flag = 1; } else if(document.insert.Correspondencedate.value == ""){ flag = 1; } if(flag){ window.alert('必須項目に未入力があります。'); // チェックされていない場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } --> </script> で、これにチェックボックスの入力チェックも含めたいのですが、ただ else if(document.insert.bld_ReceiptNo.checked){ flag = 1; } こうするだけではダメなのですね;; どうすればいいかお知恵を拝借できませんでしょうか。