• ベストアンサー

javascriptで取得した値を、FORMで送信する

いつもお世話になっております。 jspからwindow.openを使い、別ウインドウを表示しました。 別ウインドウでの質問です。 javascriptで前のページ(jsp)の情報を受け取り、それを次のページ(jsp)へFORM(POST)で送りたいのですが、うまくいきません。 ご教授下さい。 <HTML> <HEAD> <script type="text/javascript"> <!-- function sent() { var num = window.opener.document.aaa.number01.value; ここで前ウィンドウの情報を取得しています return num; } function sub() { document.bbb.submit(); } // --> </script> </HEAD> <BODY onload="sub()"> <form name="bbb" METHOD="POST" action="http://okwave.jp"> <input type="hidden" name="timeid" value=""> <input type="hidden" name="number00" value="1"> <input type="hidden" name="number01" value="sent()"> <!--<input type="hidden" name="number01" value="204038054776">--> 当たり前ですが、コメントにしている部分にすると次のページでうまくいきます。 </form> </BODY> </HTML>

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

  • ベストアンサー
  • NTJ
  • ベストアンサー率44% (46/103)
回答No.1

value="sent()" ここに問題があります。 これでは number01の中身は、"sent()" という文字列です。 function sent() は呼び出されません。 問題は、 function sub() { document.bbb.number01.value= window.opener.document.aaa.number01.value; document.bbb.submit(); } これで解決するのではないかと。 (function sent() は不要です) ちなみに、hidden で悩んだときは、一旦hidden を text に してみれば、疑問が氷解する場合が多いです。

tmkz7
質問者

お礼

回答ありがとうございます。 document.bbb.number01.value これでbbbのFORMに代入できるとは知りませんでした。 無事解決できました。ありがとうございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

普通にonloadの際に、hiddenに代入してやれば すむのではないでしょうか? function sub() { document.bbb.number01.value=window.opener.document.aaa.number01.value; document.bbb.submit(); }

tmkz7
質問者

お礼

回答ありがとうございます。 document.bbb.number01.value これでbbbのFORMに代入できるとは知りませんでした。 無事解決できました。ありがとうございます。

関連するQ&A