• 締切済み

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>

みんなの回答

  • shockatz
  • ベストアンサー率80% (153/191)
回答No.1

送信ボタン押下後の確認画面をJavascriptで出す、という話題ですが、これはJavascriptでなく、サーバサイド(phpやASP.NET)で行うべきだと思います。 Webアプリでは、入力フォームの内容は、(データベース使用の是非とは無関係に)いかなる場合も、サーバで処理前に検証するのが常識であり、そこで確認画面を表示することが多いと思います。もし、その時点で不都合があった場合、「以下の内容がNGです」を出した後、2画面戻さないと再入力画面に戻れません。 また、チェックボックスのような複数の選択値をもつデータのは、サーバ側では、送信フォーム内容を簡単に配列で取得できるため、パースする手間もありません。 Javascript側では大ざっぱな検証にとどめ、サーバサイドで精密に検証、その後、確認(コンファメーション)画面を出すのが定石かと思うのですが。。。