解決済み

<FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

  • すぐに回答を!
  • 質問No.545699
  • 閲覧数13542
  • ありがとう数8
  • 気になる数0
  • 回答数7
  • コメント数0

お礼率 36% (370/1014)

今、

<FORM ACTION="aaa.asp" METHOD="POST" Name="form1">
<input type="SUBMIT" value="ボタン1">

<FORM ACTION="bbb.asp" METHOD="POST" Name="form2">
<input type="SUBMIT" value="ボタン2">
</FORM>

</FORM>


としていて、ボタン2を押すとbbb.aspに
飛んでほしいのでに、aaa.aspに飛んでしまいます。
こういう場合どのようにすればよいのでしょうか?

それぞれのボタンは hidden の値をそれぞれの
フォームの中の値を渡したいので
どうしてもSubmitがいいのです。

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

  • 回答No.7

No.4の回答者_Leoですが、分かりにくかったと思いますので、
全ソースのサンプルを記載しますので、参考にして下さい。
No.6のyou111111さんと同じく、JavaScriptを使用しています。
下記をそのまま、新規のhtmlにコピペで使用できますよよヨ。
本来のサイトが使用しているテキストボックス名は'MT'です。
-------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<!---gooはEUCキャラクタを使っています--->
<html>

<head>
<title>SAMPLE</title>
<meta http-equiv="Content-Type" content="text/html;charset=EUC-JP">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script language="JavaScript" type="text/javascript">
<!--
//<クリックした時に実行される関数>
//*** 英和辞書
function func1(form){
document.form1.MT.value =form.TXT.value;
document.form1.submit();
}
//*** サーチ
function func2(form){
document.form2.MT.value = form.TXT.value;
document.form2.submit();
}
//-->
</script>
</head>

<body>
<!---実際に画面表示されるフォーム--->
<form>
<input type="text" name="TXT" value="Congratulation" size="40"><br>
<input type="button" onClick="func1(this.form)" value="Eng-JP">
<input type="button" onClick="func2(this.form)" value="goo">
</form>

<!-- 辞書用の仮想フォーム -->
<form name="form1" method="GET"
action="http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi">
<input type="hidden" name="MT">
<input type="hidden" name="sw" value="0">
</form>

<!--- サーチ用の仮想フォーム --->
<form name="form2" method="GET"
action="http://search.goo.ne.jp/web.jsp">
<input type="hidden" name="MT">
</form>

</body>
</html>
お礼コメント
GBSGBS

お礼率 36% (370/1014)

おぉ~~、ありがとうございます!!
感謝です。
投稿日時 - 2003-05-19 12:21:32

その他の回答 (全6件)

  • 回答No.6

ベストアンサー率 45% (20/44)

javascriptを使って


<FORM METHOD="POST" Name="form1">
<input type="BUTTON" value="ボタン1" onclick="funcClick('aaa.asp');">
<input type="BUTTON" value="ボタン2" onclick="funcClick('bbb.asp');">
</FORM>
------------javascript-------------

function funcClick(strTarget)
{
form1.action=strTarget;
form1.submit();
}



ではどうでしょう?
  • 回答No.5

個別的製品の実装がどうこうというのもありますが、仕様に従った方が無難だとは思いますよ。皆さんおっしゃっていますが、form要素同士は入れ子(ネスト)にできません。

このソースを見るだに、専門のお仕事ではないですよね?されば、外道を極めてみるのも一興か・・・?
うひひひひ
  • 回答No.4

たぶん、Gooのトップページに似た形でしょうか。
参考にしたらどうでしょう。
  • 回答No.3

ベストアンサー率 35% (842/2394)

皆さん書いておられるように<FORM>はネスト出来ませんので、分けましょう。
また、<INPUT TYPE=hidden VALUE=xxxx>をそれぞれの<FORM></FORM>の中におけば良いと思います。

<FORM ACTION="aaa.asp" METHOD="POST" Name="form1">
<INPUT TYPE=hidden VALUE="xxxxx">
<input type="SUBMIT" value="ボタン1">
</FORM>
<FORM ACTION="bbb.asp" METHOD="POST" Name="form2">
<INPUT TYPE=hidden VALUE="xxxxx">
<input type="SUBMIT" value="ボタン2">
</FORM>
  • 回答No.2

すでに回答されていますが…

もともとHTMLでは、form要素は入れ子にできない(form要素内に別のform要素を入れることはできない)仕様になっていますので、formが入れ子にならないように分けてやる必要があります。
先の方の回答にもあるように、formを分ける方法以外では、解決できないと思います。
  • 回答No.1

ベストアンサー率 31% (117/367)

こうしてください

<FORM ACTION="aaa.asp" METHOD="POST" Name="form1">
<input type="SUBMIT" value="ボタン1">
</FORM>

<FORM ACTION="bbb.asp" METHOD="POST" Name="form2">
<input type="SUBMIT" value="ボタン2">
</FORM>
お礼コメント
GBSGBS

お礼率 36% (370/1014)

やっぱり、そうするしかないのですね。
何かあるかなぁと思ってみたんですけど無駄でした。
ありがとうございました。
投稿日時 - 2003-05-13 10:28:22
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ