1つのformで複数のactionをボタン1つで

このQ&Aのポイント
  • 質問者は1つのform内で複数のactionを1つの送信ボタンで実行したいと思っています。
  • ただし、現在の試みや過去の質問を参考にしてもうまくいっていません。
  • アドバイスを求めています。
回答を見る
  • ベストアンサー

1つのformで複数のactionをボタン1つで

質問です。 1つのformで複数のactionを1つの送信ボタンで実行したいと思っています。 やりたいことは、1つのframeから他の2つのframeにデータを渡すことです。 フレームは以下のように3つに分かれています。 <frameset cols="60%, 40%"> <frame name="test1" src="xxxx.php"> <frameset rows="50%, 50%"> <frame name="test2" src="yyyy.php"> <frame name="test3" src="zzzz.php"> </frameset> </frameset> xxxx.php内のデータをyyyy.php, zzzzphpの2つに渡したいです。 <script language="javascript"> function send(){   document.form1.target = "test2";   document.form1.action = "yyyy.php";   document.form1.submit();   document.form1.target = "test3";   document.form1.action = "zzzz.php";   document.form1.submit(); } </script> <form name ="form1" method="POST" action="yyyy.php"> <input type="hidden" name="string" value="string" > <input type="button" value="送信" onClick="send()"> </form> 現在、上記のように試したり、過去の質問【一つのformから複数のactionを実行】url:http://okwave.jp/qa/q4234502.htmlを参考にしていますがうまくいきません。 わかる方アドバイスお願い致します。

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

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

nameでの参照が悪いのかもしれません オブジェクトを直接わたしてみては? <script> function send(f){ f.target = "test2"; f.action = "yyyy.php"; f.submit(); f.target = "test3"; f.action = "zzzz.php"; f.submit(); } </script> <form method="POST"> <input type="hidden" name="string" value="string" > <input type="button" value="送信" onClick="send(this.form)"> </form>

ymcnmrkn
質問者

お礼

うまくできました!! 本当に感謝です。 ありがとうございました。

関連するQ&A

  • document.form.actionでの処理

    以下のようなソースにて、 ・<form>のactionでは"send.php"へPOSTしたい。 ・javascriptにて、<select>で選択した値をhoge.phpへ渡したい 上記の事を実現するため、 ・リストから選んだ値を画像クリックで"hoge.php"へ渡し別窓で表示 ・"text"に入力した値をsubmitで"send.php"へ渡す といった処理をしているのですが、 "hoge.php"を参照した後に"text"へ何か入力してsubmitすると 本来send.phpへとぶはずが、"hoge.php"へとんでしまいます。 何が原因なのか、また最良を方法がありましたら ご教授頂ければと思います。 <script> <!-- function form_submit(url){ document.form.action=url; document.form.target = "_blank"; } //--> </script> | <FORM METHOD="POST" name="form" action="send.php"> <SELECT name="sel"> <OPTION value="001">001</OPTION> <OPTION value="002">002</OPTION> </SELECT> <input type="image" src="sub.gif" onClick="javascript:form_submit('hoge.php')"> <input type="text" name="text"> <input type="submit" value="送信"> </FORM> |

  • 1つのformに複数のaction

    質問です。 下のようにiframeが2つあり、一つのformによる結果をそれぞれに反映させる検索ページ(kensaku.php)があります。 <script> function sample(F) { F.action = 'ichiran_map.php' F.target = 'ichiran_map' F.submit(); setTimeout(function(){ F.action = 'ichiran.php' F.target = 'ichiran' F.submit(); },1); return false; } </script> <iframe src="A.php" name="A" > <iframe src="B.php" name="B" > <form method="post" onsubmit="return sample(this)"> <select name="area"><option selected value="">エリア選択 </option> <option value="01">あいうえお</option> <option value="02">かきくけお</option> </select> <select name="price"> <option selected value="">価格帯選択</option> <option value="01">1000円未満</option> <option value="02">1001円~2000円</option> <input type=submit value="絞込" /></form> 別のページ(例えばindex.php)に同じようなformを作り、検索結果をこの検索ページに反映させたいと思います。この場合、一つのformに3つのactionを設定したいのですが、どうすれば実現できるでしょうか? 表示画面はkensaku.phpにしたいのですが、そのkensaku.phpにある2つのiframe(A.phpとB.php)にformで指定した値を反映させたいのですが、どうすれば実現できるのでしょうか?どなかた教えて下さい。

  • form actionで二つ送信先を指定する方法を教えて下さい。

    プログラム初心者です。 構造としては… index.php index2.php index3.php 上記があり、index.phpの中身は下記のようになっています。 <frameset rows="200,*"> <frame src="index2.php"> <frame src="index3.php"> <noframes> <body>未対応ブラウザ向け内容</body> </noframes> </frameset> index2.phpの中身は以下のようになっています。 <form action="<?php $_SERVER["SCRIPT_NAME"] ?>" method="post"> ID:<input type="text" name="id"><br> 内容:<input size="50" type="text" name="txt"><br> <input type="submit" value="登録・編集"> </form> 上記ですと、post情報がindex2.phpだけに送信されてしまい、index3.phpに情報が送る事が出来ません。 このようなやり方はないと思いますが… <form action="index2.php" action="index3.php" method="post"> このように出来ればいいと思ったのですが…思うように動作しません。 方法が分かる方は是非教えてもらえると助かります。 よろしくお願いします。

    • 締切済み
    • PHP
  • formの複数動作について

    HTMLの初心者で、基本的なことがよくわかりません どなたかお教え頂ければ助かります <form 文を使用して2つのactionを区別してsubmitしたいのですが、 実際にはtest01.jspとtest02.jspをsubmitですが(form文の内のinput文の変数をJSPで受信する為) 、htmlの基本動作で可能です イメージ <form name="form1" action="test01.html" method="post" target="new_window1" > <form name="form2" action="test02.html" method="post" target="new_window2" >   <input type="submit" value="動作確認1" > <!-- form1をsubmitしたい --> <input type="submit" value="動作確認2" > <!-- form2をsubmitしたい --> </form> </form>

  • 一つのformで、複数のaction指定

    レイアウトなどの関係で、formの配置が基本とは異なるものになってしまい、うまく動作させる方法が見つからず困っています。 現在は <form> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> </form> …… <form method="POST" action="A.php"> <input type="submit" name="aa" value="あああ"> </form> <form method="POST" action="B.php"> <input type="submit" name="bb" value="いいい"> </form> <form method="POST" action="C.php"> <input type="submit" name="cc" value="ううう"> </form> <form method="POST" action="D.php"> <input type="submit" name="dd" value="えええ"> </form> のようになっていて、チェックボックスの値を送信したいのは、Dのボタンを押したときだけPOSTされるようにしたい状態です。 この値を取得する方法か、もしくは <form method="POST" action="(ボタンに応じたもの)"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> …… <input type="submit" name="aa" value="あああ"> <input type="submit" name="bb" value="いいい"> <input type="submit" name="cc" value="ううう"> <input type="submit" name="dd" value="えええ"> </form> このように、一つのフォームの中に埋めてしまい、actionに入る値をボタンによって分ける方法はありませんでしょうか? もしくは他の方法でも構いません。 お分かりの方がいましたら、是非ご教授お願いいたします。

    • 締切済み
    • PHP
  • formで複数のボタンを使いたい

    htmlの問題なので、カテゴリがhtmlかphpか迷いましたがphpで質問します。 htmlにおいて、form中にsubmitボタンを2個置きたいのです(例、修正ボタンと削除ボタン)。普通ならnameで区別しろということになり、飛び先(例えばaction=judge.php)中でnameで分岐させることになると思います。 ところが、現在phpフレームワークベースで開発しており、上記2つの処理を行うphpがすでにあるため、htmlからは、ボタンのactionによりそれぞれ別のphpを呼び出したいのです。以下に擬似コードを示しますが、以下のようにformが2つだと商品コード入力が2つになり、なんともおかしいので困っています。 form method=post action=edit.php input type=text 商品コード, input type=submit 修正 form method=post action=delete.php input type=text 商品コード, input type=submit 削除 質問のように1つのformに対して複数のsubmitを置くか、あるいは2つのformでも上記商品コードが1つであれば問題ないので、もしそのような方法があればご教示をよろしくお願いします。

    • ベストアンサー
    • PHP
  • form targetで新しいウィンドウをたちあげてから元に戻れる?

    こんにちわ, 今HTMLの学習をしています。 質問なんですが,たとえば,あるページ(hoge.html)が <frameset cols=30%,70%> <frame name="left" src="hogeleft.html"> <frame name="right"src="hogeright.html"> としておき, そのhogeleft.htmlかhogeright.htmlの中で <form action="hoge2.html" method="POST" target="other">'; とターゲットフレームネームにないものを指定することで新しいウィンドウでhoge2.htmlを立ち上げられますよね。 そのあと,hoge2.htmlからもとのウィンドウのほうの左フレームにhoge3.htmlを表示したいときはどうすればよろしいのでしょうか。 <form action="hoge3.html" method="POST" target="left">'; でいいのでしょうか。 よろしく回答お願いいたします。

    • ベストアンサー
    • HTML
  • formの中で別のactionをもったsubmitボタンの設置。

    formの中で別のactionをもったsubmitボタンの設置。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>sample</title> <script language="JavaScript" type="text/javascript"> <!-- //<クリックした時に実行される関数> //*** 確認画面A function func1(form){ document.form1.check[].value =form.check[].value; document.form1.submit(); } //*** 確認画面B function func2(form){ document.form2.check[].value =form.check[].value; document.form2.submit(); } //--> </script> </head> <body class="index"> <form enctype="multipart/form-data"> <input type="check" name="test[]" value="0">0 <input type="check" name="test[]" value="1">1 <input type="check" name="test[]" value="2">2 <input type="button" onClick="func2(this.form)" value="確認B"> <input type="button" onClick="func1(this.form)" value="確認A"> </form> <!-- sousin.php画面へ --> <form method="post" name="form1" action="sousin.php" enctype="multipart/form-data"> <input type="hidden" name="check[]"> </form> <!--- text.php画面へ ---> <form method="post" name="form2" action="text.php" enctype="multipart/form-data"> <input type="hidden" name="check[]"> </form> </body> </html> 上記のように記述し、フォームの中に別のactionをもったsubmitボタンを設置しました。 チェックボックスで何と何がチェックされたかを渡したいのですが、エラーが発生します。 おそらくjavascript内の構文でcheck[]と記述してるからだと思いますが、 どのようにすれば受け渡すことができるのでしょうか。 checkのみにすると1つの値しか渡せません。

    • ベストアンサー
    • HTML
  • [javaScript] form action

    PHPとjavascriptで検索(別ページ)→検索結果表示(test.php)→指定リンククリック(test.php)→チェックボックスの値を親ウィンドウ(test.php)から子ウィンドウ(aaa.php、bbb.php)へ渡し、更新→親ウィンドウ(test.php)に反映→検索ボタン押下で再検索(test.php)という流れのプログラムを書いています。 親ウィンドウ(test.php)に反映までは実装できましたが、その後検索でsubmitすると、test.phpではなくaaa.phpかbbb.phpへ遷移してしまいます。 色々試してみましたがどうしてもわからず、どなたかご教授いただけませんでしょうか。 よろしくお願い致します。 [親ウィンドウ] function setDown(type) { window.open("", "test") ; if(type == 'aaa') { window.document.fm.action = "aaa.php"; } else if(type == 'bbb') { window.document.fm.action = "bbb.php"; } window.document.fm.target = "test"; window.document.fm.method = "POST"; window.document.fm.submit(); } <form action="index.php" method="post" name="fm"> <a href="javascript:void(0)" onClick="setDown('aaa');"return false>aaa指定</a> <div id="aaaDis"></div> <a href="javascript:void(0)" onClick="setDown('bbb');"return false>bbb指定</a> <div id="bbbDis"></div> <input type="text" name="keyword"> <input type="submit" name="search" value="検索"> </form> [子ウィンドウ aaa.php] if($_REQUEST["mode"] == "set") { foreach($_REQUEST["sample"] as $num => $val) { $addName .= $Func -> GetGenreName($val) . ","; $addNo .= $val. ","; } $addName = rtrim($addName ,","); $addNo = rtrim($addNo ,","); <script type="text/javascript"> <!-- var addName = '<?php echo $addName ; ?>'; var addNo = '<?php echo $addNo ; ?>'; var sampleName = addName.split(","); var sampleNo = addNo.split(","); if(sampleNo) { window.opener.document.getElementById('aaaDis').innerHTML = ""; for (var i in sampleNo){ window.opener.document.getElementById('aaaDis').innerHTML += '<input type="checkbox" name="sample[]" value="'+sampleNo[i]+'" checked>&nbsp;'+sampleName[i]; } } window.close(); // --> </script> } <form action="aaa.php" method="post"> <input type="hidden" name="mode" value="set"> <input type="submit" value="設定"> <input name="sample[]" TYPE="checkbox" VALUE="1">1111 ・ ・ ・ </form>

  • 左右に分かれているフレーム間での値の受け渡し

    こんにちは、はじめまして。 左右に分かれているフレーム(右にあるフレームを押下すると、左側のフォーム内の処理が走り、その結果(フラグなど)をサーバに送りたいです。 ソースは以下のようになっています。Javascriptで値の受け渡しをしたいのですが、どのようにすればsubmitができるかわかりません。どなたがご存知の方、よろしくお願いします。 ↓以下ソース↓ ~右側~ <form action="menu.php" method="post" name="form_menu"> <input type="button" value="test" onClick="push();">      省略 </form> <script language="javascript"> function push() {  --ここが分かりません-- ここで左側のフォームに送るフラグ値をセットして  それを左側のフォームにsubmitしたいです。 } </script> ~左側~ <form action="input.php" method="post" name="form_input">      省略 </form> ~フレーム~ <FRAMESET cols="80%,20%" frameborder="0"> <FRAME SRC="input.php" name="frame_input"> <FRAME SRC="menu.php" name="frame_menu"> </FRAMESET>

    • ベストアンサー
    • PHP

専門家に質問してみよう