• ベストアンサー

ジャバスクリプト エラーになる

下記エラーになるのですが、宜しくお願いします・ 『利用規約に同意する』と書かれたチェックボックスにチェックを入れてある場合のみ確認のウインドウがでるという仕組みを作りたいのですが if(document.Order.elements[kiyaku_fn].value == ""){ alert("規約に同意して下さい"); return false; else if (document.Order.elements[kiyaku_fn].value == "on") return true; }

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

  • ベストアンサー
回答No.1

すれ違い? if(document.Order.elements[kiyaku_fn].value == ""){ alert("規約に同意して下さい"); return false; }←追加 else if (document.Order.elements[kiyaku_fn].value == "on") return true; }

yamada_2667
質問者

お礼

有難う御座いました。 エラーは、なくなりましたが、チェックしなくても、確認のウインドウがでてしまうのですが、どこがいけないのでしょうか <SCRIPT language=JavaScript> function SubmitCheck() } if (document.Order.elements[kiyaku_fn].value == ""){ return false; } else if (document.Order.elements[kiyaku_fn].value == "同意"){ alert("規約に同意して下さい"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "規約:" + document.Order.elements[kiyaku_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <INPUT id=checkbox1 type=checkbox value="同意" name=checkbox1>規約

その他の回答 (1)

回答No.2

#1のソースをもとに、結構つくりかえてます。 判定の方法もかえてありますが、意図したように動くはずです。。。。 <html><body> <SCRIPT language=JavaScript> function SubmitCheck() { if (!document.getElementById("checkbox1").checked) { alert("規約に同意して下さい"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "規約:" + document.getElementById("kiyaku_fn").value; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <textarea id="kiyaku_fn"> 第1条 あああ いいい 第2条 ううう えええ </textarea> <form action="?"> <INPUT id=checkbox1 type=checkbox value="同意" name=checkbox1>規約 <input type="submit" value="てすと同意" onclick="return SubmitCheck()"> </form> </body></html>

yamada_2667
質問者

お礼

ご親切な回答有難う御座いました。

関連するQ&A

  • チェックしなくても、確認のウインドウがでる

    チェックしなくても、確認のウインドウがでてしまうのですが、どこがいけないのでしょうか <SCRIPT language=JavaScript> function SubmitCheck() } if (document.Order.elements[kiyaku_fn].value == ""){ return false; } else if (document.Order.elements[kiyaku_fn].value == "同意"){ alert("規約に同意して下さい"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "規約:" + document.Order.elements[kiyaku_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <INPUT id=checkbox1 type=checkbox value="同意" name=checkbox1>規約

  • 送信フォーム確認画面

    送信フォーム確認画面 始めまして、初心者で御座いますが、チェックボックスで(複数選択可) チェックしたものだけ、送信ボタンクリック後の確認画面に出るようにしたいのですが、 + "選択:" + document.Order.elements[ ].value + "\n" 上記[ ]の中になにを記載するばよいのでしょうか、 宜しくお願いします。 <SCRIPT language=JavaScript> function SubmitCheck(){ if(document.Order.elements[a_fn].checked == "") if(document.Order.elements[b_fn].checked == "") if(document.Order.elements[c_fn].checked == ""){ alert("最低1つチェックして下さい"); return false; } if(document.Order.elements[d_fn].value == ""){ alert("購入日を入れてください"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "選択:" + document.Order.elements[ ].value + "\n" +"" + "購入日:" + document.Order.elements[d_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT>

  • オーダーフォーム最終確認画面

    始めまして、まったくの初心者で御座いますが、オーダーフォーム最終確認画面でチェックボックスで(複数選択可) チェックしたくだものだけ、送信ボタンクリック後の最終確認画面に出るようにしたいのですが、(チェックしなのは、出ないようにしたい)どうしたらよいのでしょうか、 宜しくお願いします。 下記抜粋いたしました。 <SCRIPT language=JavaScript> function SubmitCheck(){ if(document.Order.elements[a_fn].checked == "") if(document.Order.elements[b_fn].checked == "") if(document.Order.elements[c_fn].checked == ""){ alert("最低1つチェックして下さい"); return false; } if(document.Order.elements[d_fn].value == ""){ alert("購入日を入れてください"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "選択:" + document.Order.elements[i].value + "\n" +"" + "購入日:" + document.Order.elements[d_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <FORM name=Order onsubmit="return SubmitCheck()" action=formmail.cgi method=post><INPUT type=hidden size=-1 value=×××@○○○.jp name=to_mail> <INPUT type=hidden size=-1 value=http://×××.jp/123.htm name=ok_page> <INPUT type=hidden size=-1 value=OrderJP name=sub> <FONT size=2 ><STRONG>選択</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=バナナ name=購入></STRONG></FONT> <FONT size=2><STRONG>バナナ</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=りんご name=購入></STRONG></FONT><FONT color=navy size=2><STRONG>りんご</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=みかん name=購入></STRONG></FONT> <FONT size=2><STRONG>みかん</STRONG></FONT> <FONT size=2 ><STRONG>購入</STRONG></FONT> <NOBR><INPUT style="WIDTH: 106px; HEIGHT: 22px" maxLength=22 size=14 name=購入><FONT size=2></FONT></FONT> </FONT></NOBR><BR> <CENTER><INPUT type=submit value=送信 name=Submit>  </CENTER></FORM>

  • JavaScript 送信フォーム確認画面

    始めまして、初心者で御座いますが、javascriptでチェックボックスで(複数選択可) チェックしたくだものだけ、送信ボタンクリック後の確認画面に出るようにしたいのですが、どうしたらよいのでしょうか、 宜しくお願いします。 下記抜粋いたしました。 <SCRIPT language=JavaScript> function SubmitCheck(){ if(document.Order.elements[a_fn].checked == "") if(document.Order.elements[b_fn].checked == "") if(document.Order.elements[c_fn].checked == ""){ alert("最低1つチェックして下さい"); return false; } if(document.Order.elements[d_fn].value == ""){ alert("購入日を入れてください"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "選択:" + document.Order.elements[i].value + "\n" + "" + "購入日:" + document.Order.elements[d_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <FORM name=Order onsubmit="return SubmitCheck()" action=formmail.cgi method=post><INPUT type=hidden size=-1 value=×××@○○○.jp name=to_mail> <INPUT type=hidden size=-1 value=http://×××.jp/123.htm name=ok_page> <INPUT type=hidden size=-1 value=OrderJP name=sub> <FONT size=2 ><STRONG>選択</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=バナナ name=購入></STRONG></FONT> <FONT size=2><STRONG>バナナ</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=りんご name=購入></STRONG></FONT><FONT color=navy size=2><STRONG>りんご</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=みかん name=購入></STRONG></FONT> <FONT size=2><STRONG>みかん</STRONG></FONT> <FONT size=2 ><STRONG>購入</STRONG></FONT> <NOBR><INPUT style="WIDTH: 106px; HEIGHT: 22px" maxLength=22 size=14 name=購入><FONT size=2></FONT></FONT> </FONT></NOBR><BR> <CENTER><INPUT type=submit value=送信 name=Submit>  </CENTER></FORM>

  • 一括で入力のチェックをしたいのです!

    どなたか教えてください・・・ フツー入力チェックを行う場合 <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を始めて間もないため とんちんかんな質問をしている様でしたら すみません。 どなたか入力チェックを一括で出来る方法を 教えて頂けないでしょうか・・・ お願いします。

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

    今、フォームの送信ボタンを押すとチェックする 関数を作成しております。 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
  • オーダー送信フォーム最終確認画面

    オーダー送信フォーム最終確認画面 始めまして、まったくの初心者で御座いますが、オーダーフォーム最終確認画面でチェックボックスで(複数選択可) チェックしたくだものだけ、送信ボタンクリック後の最終確認画面に出るようにしたいのですが、(チェックしなのは、出ないようにしたい)どうしたらよいのでしょうか、 ---------------------------------------------------------- 出来れば下記のような確認ウインドウがでるようにしたのですが ※みかんのみにチェックした場合 注文確認 下記の事項をご確認ください 正しければ、OKを押してください 選択 みかん 購入日 ○月×日 ------------------------------------宜しくお願いします。 下記抜粋いたしました。 <SCRIPT language=JavaScript> function SubmitCheck(){ if(document.Order.elements[a_fn].checked == "") if(document.Order.elements[b_fn].checked == "") if(document.Order.elements[c_fn].checked == ""){ alert("最低1つチェックして下さい"); return false; } if(document.Order.elements[d_fn].value == ""){ alert("購入日を入れてください"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "選択:" + document.Order.elements[i].value + "\n" +"" + "購入日:" + document.Order.elements[d_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <FORM name=Order onsubmit="return SubmitCheck()" action=formmail.cgi method=post><INPUT type=hidden size=-1 value=×××@○○○.jp name=to_mail> <INPUT type=hidden size=-1 value=http://×××.jp/123.htm name=ok_page> <INPUT type=hidden size=-1 value=OrderJP name=sub> <FONT size=2 ><STRONG>選択</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=バナナ name=購入></STRONG></FONT> <FONT size=2><STRONG>バナナ</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=りんご name=購入></STRONG></FONT><FONT color=navy size=2><STRONG>りんご</STRONG></FONT> <FONT size=2><STRONG><INPUT type=checkbox value=みかん name=購入></STRONG></FONT> <FONT size=2><STRONG>みかん</STRONG></FONT> <FONT size=2 ><STRONG>購入日</STRONG></FONT> <NOBR><INPUT style="WIDTH: 106px; HEIGHT: 22px" maxLength=22 size=14 name=購入日><FONT size=2></FONT></FONT> </FONT></NOBR><BR> <CENTER><INPUT type=submit value=送信 name=Submit>  </CENTER></FORM>

  • 半角英数字のみの入力にエラーを返すには

    運営しているサイトに設置したコメントフォームからスパムがたくさん送信されてきます。 その対策として、「氏名のよみがな」入力欄が半角英数字のみの入力の場合にはアラートを出して投稿できないようにしたいです。 下記のようなJSを使用していますが、 if (!kana) { alert('氏名のよみがなを入力してください。'); return false; } の部分を変更して「半角英数字しか入力されていない場合、アラートを返す」ようにするには、どうしたら良いでしょうか? htmlの文字コードはShift_JISです。 よろしくお願いします。 function postComment { var name = eval('document.name.value'); var kana = eval('document.kana.value'); var email = eval('document.email.value'); var comment = eval('document.comment.value'); sum++; if (!name) { alert('氏名を入力してください。'); return false; } else { if (!kana) { alert('氏名のよみがなを入力してください。'); return false; } else { if (!email) { alert('メールアドレスを入力してください。'); return false; } else { if (!comment) { alert('コメントを入力してください。'); return false; } else { var confirm_text = '以下の内容で送信します\n' + 氏名:' + name + '\n よみがな:' + kana + '\n メール:' + email + '\n 本文:' + comment; if (!confirm(confirm_text)) { return false; } else { alert('コメントを送信しました。'); } } } } } }

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

    ラジオボタン、セレクトボタンの選択チェックをしたいのですが 同時にチェックする場合どうすればよいのでしょうか。 失敗策ですが、参考までに↓ 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; } }

  • アラーと表示がうまくいきません

    <SCRIPT LANGUAGE="JavaScript"> <!-- function aaa(){ if(document.a.ADD01.selectedIndex==0){ alert("カテゴリを選んで下さい。");document.a.ADD01.focus();return false; }else if(document.a.EMAIL.value=="" &&document.a.TEL.value==""){ alert("メールアドレスか電話番を入力して下さい。"); document.a.EMAIL.focus(); return false; }else{ return true;} } // --> </SCRIPT> 上記の「メールアドレスか電話番号を入力して下さい。」のアラートを「メールアドレスを入力して下さい。」に変えたいのですが(document.a.EMAIL.value=="" && document.a.TEL.value=="")のどの部分までを消していいのか分かりません。

専門家に質問してみよう