- ベストアンサー
フォームで入力項目を全て別の確認画面に出したい
- JavaScriptでフォームを作成しています。入力項目を別の確認画面に出したいのですが組み合わせている内に、わからなくなってしまいました。どうかお助けください。(>_<) チェックボックスの所は、3つ以上チェックできないようにしてあります。
- フォームで入力項目を別の確認画面に表示させる方法を教えてください。JavaScriptを使用していますが、組み合わせが複雑でわかりにくくなってしまっています。チェックボックスの選択制限も設定しています。
- フォームで入力した項目を別の確認画面で表示したいです。JavaScriptを使ってフォームを作成していますが、どう組み合わせていいかわかりません。また、チェックボックスでは3つ以上の選択ができないように設定しています。お助けください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 私の方では動いているので、念のため呼出元のソースを。提示されているものとほとんど同じだと思いますが。 前に記した確認画面のソースと以下のソースをコピって貼り付ければ、そのままで動くと思いますが。 ファイルを2つとも同じ階層に置いてください。 <script language="JavaScript"> <!-- function outdata(){ window.open('decideWindow.html','decideWindow','width=300,height=300,status=yes'); } // --> </script> <form name="myFORM"> <table> <tr><td> <table> <tr> <td> <input type="radio" name="plan" value="A"> A.</font></strong></div> </td> </tr> </table> <br> <table> <tr> <td> <input type="radio" name="plan" value="B"> B. </td> </tr> </table> <br> <table> <tr> <td>あ</td> <td> <input name="CB1" type="checkbox" id="CB12" value="あ"> </td> </tr> </table> チェックボックス全10項目中チェック3つまで<br> <br> *印は必須項目です<br> <table> <tr> <td>申込み内容</td> </tr> <tr> <td>会社名*</td> <td><input type="text" name="jimusho_name" size="30"></td> </tr> </table> テキストフォーム全9項目<br> <p> <input name="button" type="button" onClick="outdata();" value="送 信"> <input name="reset" type="reset" value="キャンセル">
その他の回答 (1)
- torakiyojp
- ベストアンサー率58% (25/43)
こんな感じでどうですか? function outdata(){ window.open('decideWindow.html','decideWindow','width=300,height=300,status=yes'); } ----- 確認画面のソース <html> <head> <title>確認画面</title> <script language="JavaScript"> <!-- function init(){ for(i=0;i<window.opener.document.myFORM.plan.length;i++){ if(window.opener.document.myFORM.plan[i].checked == true){ document.all.plan.innerText = window.opener.document.myFORM.plan[i].value; } } if(window.opener.document.myFORM.CB12.checked == true){ document.all.CB12.innerText = window.opener.document.myFORM.CB12.value; } document.all.jimusho_name.innerText = window.opener.document.myFORM.jimusho_name.value; } // --> </script> </head> <body onLoad="init()"> <form name="form1"> 確認 <div id="plan"></div> <div id="CB12"></div> <div id="jimusho_name"></div> </form> </body> </html> OKの場合は親に処理の関数書いてopenerで親の関数を呼ぶか確認画面に関数を書くかすれば良いと思います。
補足
回答ありがとうございます! 色々テストしてみたんですけれど、 function init(){ for(i=0;i<window.opener.document.myFORM.plan.length;i++){ のところで、 window.opener.document.はNullまたはオブジェクトではありません。 と、エラーが出てしまいます。 その他、チェックボックスの所には、下記スクリプトを追加しています。 function check(n) { count = 0; for (i=1; i<=10; i++) if (document.myFORM.elements["CB"+i].checked) count++; if (count > 3) { alert("3個以上チェックできません"); document.myFORM.elements["CB"+n].checked = false; } }
お礼
お礼すごく遅くなってしまってすみません。 迅速、丁寧でとても助かりました! 本当にありがとうございました!