重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんにちわ,
今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の値・・・などを送って新しいウィンドウを立ち上げたいときです。

よろしくお願いします。

A 回答 (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以外の名前をウィンドウに与えておいたほうが無難に思います。

参考になれば。
    • good
    • 0

<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>
    • good
    • 0
    • good
    • 0

参考URLの「メールフォーム」にある、


・記入内容のチェック(1)
・挨拶を返す(3)
などが参考になると思います。

参考URL:http://www.sumnet.ne.jp/domp/jsbs/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!