こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

複数formの使用について

お世話になります。

複数のFORMを入れ子で使用する方法はありますでしょうか?
下記の記述だと外側のFORMが無効になってしまいます。
表示の順は以下のようにしたいです。
aaa.phpへPOST変数でデータを受け渡して使用します。

<form method="post" name="test1" action="aaa.php">
<input type="text" name="text01" id="textA" value="10">
<input type="text" name="text02 id="textA" value="20">
<input type="text" name="text03" id="textA" value="30">
(上のinputタグ数は動的に変わります)

<form method="POST" name="test2" action="bbb.php">
<select name="select">
<option>selectA</option>
<option>selectB</option>
<option>selectC</option>
<input type="submit" name ="read" value="読込">
</select>
</form>

<input type="submit" value="保存" >
</form>

以上、よろしくお願いいたします。

投稿日時 - 2009-02-01 20:27:38

QNo.4680944

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

ボタンというかフォーム部品の配置は CSS でどうにでもなりますね。

投稿日時 - 2009-02-03 00:06:59

ANo.3

formの入れ子はできないということで結論はでたとして
何がやりたいのでしょうか?
読込ボタンをおすとセレクトボックスを変えたいということでしたら
非同期処理が必要ですからajaxで処理するのが妥当ですね。
であればjavascriptが前提ですからわざわざformを入れ子にしなくても
ボタン処理でできるはずです。

またきちんとsubmitですべて処理をしたいのであれば、
bbb.phpで受けずに、aaa.phpでうけて$_POST["read"]の値を
みて、読込処理だと判断して、bbb.phpに渡すなど
方法はいろいろあると思います

投稿日時 - 2009-02-02 09:48:51

お礼

皆様ご回答ありがとうございます。

やりたいこととしては
(1)DBから条件1でデータを取得してテキストボックスに表示
<input type="text" name="text01" id="textA" value="10">
<input type="text" name="text02 id="textA" value="20">
<input type="text" name="text03" id="textA" value="30">

(2)取得するデータを変更できるようにセレクトボックスを表示
(selectA,selectB,selectCの条件でデータを取得し(1)と同様にテキストボックスに表示するため)

<form method="POST" name="test2" action="bbb.php">
<select name="select">
<option>selectA</option>
<option>selectB</option>
<option>selectC</option>
<input type="submit" name ="read" value="読込">
</select>
</form>

(3)(1)のデータを変更するために保存ボタンを付けたい。
<input type="submit" value="保存" >
</form>


dalianseさん、warezさんのおっしゃるようにフォームを二つ作り以下のようにすれば入れ子にならず問題なく出来るのですが
表示並び順は上から「テキストボックス」→「読込み」→「保存」としたいため困っています。

<form method="post" name="test1" action="aaa.php">
<input type="text" name="text01" id="textA" value="10">
<input type="text" name="text02 id="textA" value="20">
<input type="text" name="text03" id="textA" value="30">
(上のinputタグ数は動的に変わります)
<input type="submit" value="保存" >
</form>

<form method="POST" name="test2" action="bbb.php">
<select name="select">
<option>selectA</option>
<option>selectB</option>
<option>selectC</option>
<input type="submit" name ="read" value="読込">
</select>
</form>

以上よろしくお願いいたします。

投稿日時 - 2009-02-02 10:18:48

ANo.2

入れ子にはできないですね。

素直にフォームを二つ作るのがいいかと。

投稿日時 - 2009-02-02 05:48:45

ANo.1

確かフォームタグは入れ子に出来なかったような…。

投稿日時 - 2009-02-01 22:07:20

あなたにオススメの質問