![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
失礼致します。
質問させてください。
今javaとjavascriptを使って値を保持する選択型入力フォームを作っています。それで、目的を達成するにはformが入れ子になりそうなのです。
イメージ図として
<form>
---------------
<form>
------
------
</form>
<form>
------
------
</form>
<form>
------
------
</form>
---------------
</form>
というのは無理でしょうか?(無理でしょうね・・)(+o+)
長くなりすぎるため省略していて申し訳ありませんが、入れ子になる前のソースは以下のようになります。
<%
for(int i = 0 ; i<5 ; i++)
{
%>
<form method="POST" action="jsp(元のURLに戻る)" name="form<%=i%>">
<select name = "kibou">
<option value = "-" <% if("-".equals(kibou) { %>selected<% } %>>-</option>
<option value = "購入" <% if("購入".equals(kibou)) { %>selected<% } %>>購入</option>
</select>
<input type = "submit" value = "更新">
</form>
<%
}
%>
(値は配列に入れ、iの値に応じて取れるようにしています。また、更新した値は裏で保持されます。)
ここで、上のソースでは「-」か「購読」という値を持ったフォームが5つでき、5つの更新ボタンのうち1つを押すことでそのフォームにあった値を更新できます。
では全体の更新、例えば5つとも「-」から「購読」に変更し、更新ボタンを押すことで5つともの値が変わるようにするにはどうすればいいでしょうか?
全体を一つのフォームにすればできそうだなということは分かりますが、一つひとつの更新ボタンも残しつつ全体の更新ボタンも追加したいのです。
分かりにくい説明ではございますが、何か分かる方がおられましたらよろしくお願いします。m(__)m
No.4ベストアンサー
- 回答日時:
サーバ側の処理が良くわからないんでなんともいえないですが、やり方はいくらでもあります。
大体イメージとしてこんな感じでいいんじゃないですか?
サーバ側では、hiddenパラメータupdateが0なら全部更新、1-5ならその番号だけ更新すればいいかと。
テストもしてないし、そもそもJSPよく知らないんで細かいところは直してください。ロジックはこんなんで出来るはずです。
<form method="POST" action="jsp(元のURLに戻る)" name="form0">
<%
for(int i = 0 ; i<5 ; i++)
{
%>
<select name = "kibou">
<option value = "-" <% if("-".equals(kibou) { %>selected<% } %>>-</option>
<option value = "購入" <% if("購入".equals(kibou)) { %>selected<% } %>>購入</option>
</select>
<button onclick="this.form.update.value='<% i %>';this.form.submit();">この項目だけ更新</button>
<%
}
%>
<input type="hidden" name="update" value="0"/>
<input type="submit" value="全部更新"/>
</form>
No.3
- 回答日時:
フォームはひとつで、
<button onclick="フォーム.submit()">更新</button>
を好きなだけ好きなところに置いたらよろしいかと。
フォーム.submit()の"フォーム"は適宜書き換えてくださいね。
この回答への補足
ご回答ありがとうございます。
たれパンダさんの示していただいた方法が一番簡単そう(?)だなと思い、イメージしてみました。
しかし、フォーム名の指定のところでつまずきました。フォームを1つにするとフォームを指定できないです。
input名のvalueを変えておいてfunction内にdocument.form.kibou<%=i%>=kibou
として値を取り込むのがよろしいでしょうか?
ついでにsubmitさせる形で・・
それともfunction submit<%=i%>()
もしくはfunction submit(i)の方がいいでしょうか?
多少頭が混乱していまして、いけそうかどうかすら見えないです。アドバイスしていただけますでしょうか?m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ウィンドウへのsubmitの挙動...
-
POST時に要素を削除してからPOST
-
javascriptでASPにデータを渡す
-
FormのonsubmitでJavaスクリプ...
-
複数のフォームを一括で自動送...
-
focus()が上手くいかない
-
指定したタグを書き換えるには?
-
Cookieに保存されない
-
submitした値を返したい
-
C# 配列などの受け渡し
-
return trueとreturn falseの用...
-
Selectボックスの幅を自動で広...
-
slickのレスポンシブ > center...
-
JavaScript ラジオボタン デ...
-
クリアボタンの動作について
-
<input>の選択肢をプルダウンメ...
-
onchangeイベントを強制的に発...
-
javascript作成してます。ラジ...
-
javaScriptの変数をJavaの変数...
-
プルダウンで選択すると、DBの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FormのonsubmitでJavaスクリプ...
-
submitした値を返したい
-
javascriptでASPにデータを渡す
-
別ウィンドウへのsubmitの挙動...
-
フォームが空欄の時にフォーム...
-
複数のフォームを一括で自動送...
-
iframe内のformをサブミットす...
-
1つのform内に2つのsubmitボタ...
-
POST時に要素を削除してからPOST
-
1つのページにformを2つ設置。2...
-
formのsubmitイベントの発生に...
-
focus()が上手くいかない
-
1つのformで複数のactionをボタ...
-
リンク先アドレスの一部にテキ...
-
タブキーでなくエンターキーで...
-
JavascriptからSubmitして画面...
-
同意チェックボックスはひとつ...
-
指定したタグを書き換えるには?
-
javascriptで .jpg , .jpeg , ....
-
chromeでフォームの値が取得で...
おすすめ情報