- ベストアンサー
送信ボタンを押して別ウィンドウを立ち上げるとき大きさを指定したい
こんにちわ, 今HTMLの学習をしています。 今Submitボタンを押してtargetをnewにすると新しいウィンドウが立ち上がることはわかったのですが,その大きさを指定するにはどうすればよろしいのでしょうか。 javascriptなどのwindowopenを使用して値等を送信できるのでしょうか。 たとえば, <form action="hoge.php" method="POST" target="new"> <input type="hidden" name="hoge2" value="hogehoge"> : </form> などとかいてhoge.phpにhoge2の値・・・などを送って新しいウィンドウを立ち上げたいときです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ご質問にある動作の実現には、JavaScriptを併用します。 先にも回答が寄せられていますが、window.open()メソッドで新しいウィンドウを開くことができ、そのときの表示サイズなどもあわせて設定することができます。 この場合、window.open()で開くウィンドウに読み込むファイルをブランクにしておき、第二引数のウィンドウ名でform要素のtarget属性が指定しているnewという名称を引けばよいと思います。 それと、第三引数の中で各種の新規ウィンドウに関する設定を加えればよいでしょう。 form要素の中で一連の処理をすべて記述しておきたいのであれば、 <form action="hoge.php" method="POST" target="new" onSubmit="window.open('','new','width=300, height=100, resizable=1');"> <input type="hidden" name="hoge2" value="hogehoge"> … </form> このようにすると、フォームがサブミットされたときにJavaScriptがnewという名前をもつウィンドウを開き、その新しく開かれたウィンドウをターゲットにしてフォームが送信されると思います。 なお、この質問の内容からすると蛇足かもしれませんが、target属性をnewとして新しいウィンドウを開くというのは、厳密には誤った認識なのではないかと思います。 それ以前にnewという名前をもつフレームないしウィンドウがなければ、新しいウィンドウを開く動作になりますが、それ以前に同じフレームないしウィンドウ名をもつウィンドウが開かれていると、それが再利用されると思います。 いかなる状況においても新しいウィンドウを開くときには、特別に用意された「_blank」という値をtarget属性の内容として記述するのが正しいと思います。 ただ、今回のケースでは、あえて_blank以外の名前をウィンドウに与えておいたほうが無難に思います。 参考になれば。
その他の回答 (3)
- todo36
- ベストアンサー率58% (728/1234)
<script language="javascript"> function mySubmit(f) { var w=window.open("","","width=640,height=480,left=100,top=100,scrollbars=yes"); w.document.open(); w.document.writeln('<form action="http://www.google.com/search" method="get">'); w.document.writeln('<input type="hidden" name="q" value="' + f.q.value + '">'); w.document.writeln('</form>'); w.document.close(); w.document.forms[0].submit(); return false; } </script> <form onsubmit ="return mySubmit(this)"> <input name="q"> <input type="submit"> </form>
- spnk55
- ベストアンサー率29% (11/37)
参考URLの「メールフォーム」にある、 ・記入内容のチェック(1) ・挨拶を返す(3) などが参考になると思います。