フォームをJavaScriptからサブミットする
フォームをJavaScriptからサブミットするには通常submitボタンを押しますが、javascriptからサブミットすることも出来ます。
javascriptからサブミットするには、スクリプト内でフォームオブジェクトを取得します。
formオブジェクトの取得は以下のように取得します。

var obj = document.forms[formのname値];
オブジェクトを取得したら、フォームオブジェクト名.submit()を実行します。
フォームをリセットしたい場合は、フォームオブジェクト名.reset()を実行します。
また、methodやaction、targetを指定することも出来ます。
以下、ソースです。

<form name="namae">
<input type="hidden" name="field1" value="バリュー" >
</form>

<script type="text/javascript">
<!--
function a(){
    var obj = document.forms["namae"];
    obj.method = "post";
    obj.action = "test.php";
    obj.target = "_blank";
    obj.submit();
}
--></script>
以下のボタンを押すとJavaScriptが実行され、サブミットされ別ウィンドウが開きます。
別ウィンドウで開く場合はtargetに_blankを指定します。Chrome23では別タブで開きます。



リンクからサブミットする
submitボタンではなくリンクからフォームの情報をサブミットすることが出来ます。
アンカータグでonclickイベントを使用します。以下、リンクをクリックすると別ウィンドウで開きます。
onclickにはdocument.フォームのname値.submit()と指定します。

クリック

以下、ソースです。

<a href="#" onclick="document.namae2.submit();">クリック</a>
<form method="post" action="test.php" target="_blank" name="namae2">
<input type="hidden" name="field1" value="バリュー" />
</form>

Back to top

Information