<FORM action=z.php>

<input type=text name=a value=1> <---入力項目がたくさんある。
以下は画像ボタンです。
<input type=image1....<-a.phpにinput のデータを渡したい。
<input type=image2... <-b.phpにもinput のデータを渡したい。
</FORM>
このときJavascriptでfunctionを作りそれぞれに飛ばせますが、formのデータも渡したいのです。やり方がわかりません。例題をお願い致します。
最初の正解以外は気持ち程度のポイントでお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:hmom No.1

回答回数46ベストアンサー獲得回数0

ポイント5pt

http://tohoho.wakusei.ne.jp/js/form.htm

そのファイルは現在ありません

ここの「フォームを操作する」あたりではどうですか?

id:Paradise

ここは、検索済みで求めている例題がないですね。次も見てみます。

2004/06/30 10:17:25
id:andymente No.2

回答回数96ベストアンサー獲得回数0

ポイント45pt

http://www.hatena.ne.jp/1088528853#

<FORM action=z.php> <input type=text name=a value=1> <---入力項目がたくさんある。 以下は画像ボタンです。 <input type=image1....<-a.phpにinput のデータを渡したい.. - 人力検索はてな

・image1 を押した時、z.php ではなく a.php にデータを送る

・image2 を押した時、z.php の他に b.php にもデータを送る

という風に解釈しました。違っていたらごめんなさい。

メインの内容

----

<script type="text/javascript">

<!--

var a_flag = b_flag = false;

function other_send(form_obj) {

if (b_flag) {

form_obj.action = "./b.php";

form_obj.target = "sendB";

form_obj.submit();

}

form_obj.action = (a_flag) ? "./a.php" : "./z.php";

form_obj.target = "_self";

form_obj.onsubmit = null;

return !b_flag;

}

function z_send(form_obj) {

form_obj.submit();

}

-->

</script>

<form action="./z.php" method="GET" onsubmit="return other_send(this);" target="_self">

<p><input type="text" name="a" value="1"></p>

<p><input type="text" name="b" value="2"></p>

<p><input type="radio" name="c" value="3">

<input type="radio" name="c" value="4" checked></p>

<p><input type="checkbox" name="d" value="5" checked>

<input type="checkbox" name="d" value="6" checked></p>

<p><select name="e">

<option value="7">7</option>

<option value="8" selected>8</option>

</select></p>

<p><input type="image" src="./a.png" alt="a" onclick="a_flag = true;b_flag = false;"></p>

<p><input type="image" src="./b.png" alt="b" onclick="a_flag = false;b_flag = true;"></p>

<p><input type="image" src="./z.png" alt="z"onclick="a_flag = false;b_flag = false;"></p>

</form>

<iframe src="./dummy.htm" id="sendB" name="sendB" title="dummy"></iframe>

----

b.php の内容

----

<script type="text/javascript">

<!--

if (window.parent)window.onload = function() {parent.z_send(parent.document.forms[0]);};

-->

</script>

----

ダミー用フレームとして iframe を使いましたが、その辺は好みで変更して下さい。

id:Paradise

これで できましたが、 iframeをダミーとして使う意味がいまいちわかってますせん。

頭がもうろう状態で部長に文句いわれながらやってますのでめげてます。

ダミーの理由を教えてもらえると助かります。

2004/06/30 10:34:22
  • id:andymente
    ダミーの役割

    お仕事でしたか。お疲れ様です。

    ダミーのインラインフレームは、b.php にフォームの内容を送信するために使っています。
    ダミーの方に b.php が表示されることになるので、表示させたくない場合はスタイルシートなどで隠しておいて下さい。

    ダミーにフォームの内容がちゃんと送信されたら、
    b.php に書かれたスクリプトが動作して、
    (if (window.parent)window.onload = function() {parent.z_send(parent.document.forms[0]);}; という行)
    あらためて本来の送信先である z.php に送信される(そしてページが z.php に切り替わる)仕組みになっています。

    あ、今書いていて気付いたのですが、インラインフレームではなくフレームでダミーの送信場所を作る場合は、b.php の スクリプトを多少変更しなければいけません。
    (「parent」という部分を「parent.フレームの名前(form_window など)」に変更)

    説明が不足していたら後でまた付け足します。
  • id:Paradise
    (投稿者削除)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません