
いつもお世話になっております。
for文の中で、押されたボタンのデータをhiddenで送信しようとしているのですが、
うまくいきません。
ソースは下記になります。
aaa.jsp
<%
for(int i = 0;i < list.size(); i++) {
caModel = (CategoryModel)list.get(i);
int i1 = caModel.getCategory();
int i2 = caModel.getCategory_sub();
String s1 = caModel.getCategory_name();
%>
<html:submit property="submit"><%=s1%></html:submit>
<%=i1%>,<%=i2%>
<input type="hidden" name="category" value="<%=i1%>">
<input type="hidden" name="category_sub" value="<%=i2%>">
<% } %>
途中でi1とi2を表示しているのですが、期待している通りに表示されます。[1,1]と[1,2]が表示。
これをservletで取得すると、
bbb.java
String st1 = request.getParameter("category");
String st2 = request.getParameter("category_sub");
System.out.println("st1 = " + st1);
System.out.println("st2 = " + st2);
2つ目のボタンを押して[1,2]を送信したいのですが[1,1]が表示されてしまいます。
分かる方がいましたら、ご教授下さい。よろしくお願い致します。

No.3
- 回答日時:
質問を拝見して、
・HTMLのsubmitについて、理解出来ているのかな?
・ブラウザで表示されたHTMLのソース、見てないんだろうな?
と、思ってしまうのですが、いかがでしょうか?
formをデータの個数分作って、そこにhiddenでデータを埋め込むというのは、動くとは思うのですが、もしも客先提出するものだったら、ちょっと・・・と感じます(私的には、ですが)。なにせ、ブラウザ右クリックで「ソースの表示」したら、まるわかりですから。
私だったら、DBのプライマリーキー的な物をURLパラメタに
持たせて、サーバーで突合せをします。
また、どうしてもクライアント側で処理したい時は、jspでデータをJavaScriptの多次元配列に展開し、ボタンのsubmitではない)onClickイベントで、取得・表示させたこともあります。
No.2
- 回答日時:
書かれた部分のソースだけの判断なら、
hidden項目の名前が各行(複数行ですよね?)全て
name="category" と name="category_sub"
になっているのが原因です。
同一名だとどのデータを送っていいのか、IE側に分からないので
(なのでHTMLでは、思ったとおりに各値が設定されているはず。
送信時点で)
最初の奴を送っているように見えます。
というか、データは複数行で、取得側が1行分のみって・・・
人間でもどのデータを取得したいか分からないはずです。
(それとも、1,2だよって何か処理があるのでしょうか・・・)
回避方法は、
1.hidenフィールドの名前を全て別の名前にする。
name="category1" name="category_sub1"
name="category2" name="category_sub2"
name="category3" name="category_sub3"
で受け取り側でどれを受け取りたいか名前を指定する。
2.javaScript にて 送信データを選別して送信する。
3.#1の言われている通りFormを分けてjavaScriptによる
送信(Submit)制御を行う。
でしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
このQ&Aを見た人はこんなQ&Aも見ています
-
hiddenのvalueの値を変えたい
JavaScript
-
jsp~jspにhiddenを使って変数を飛ばしたい
JavaScript
-
<input type=hidden" >で配列(複数の要素)を渡したいとき?"
PHP
-
-
4
input type=hidden"で取得した項目に値が重複してセットされてしまいます。"
HTML・CSS
-
5
javascriptにてHTMLのhiddenエリアのvalueを変更したい
JavaScript
-
6
javascriptの値をformのinput hiddenに入れたい
JavaScript
-
7
JavaScriptの変数をjavaのメソッドの引数に渡す
JavaScript
-
8
StrutsでJSPからListを受け取りたい
Java
-
9
フォームで同じ複数のnameで違うvalueの送信
Java
-
10
jspからjavascriptの変数引継ぎ
JavaScript
-
11
PHPのif文でその処理を途中で抜けるにはどうすればよいでしょうか?
PHP
-
12
<input>の選択肢をプルダウンメニューから受け取り、hiddenで
JavaScript
-
13
オブジェクトの中のプロパティを認識できません
Java
-
14
Javascriptの値をJava(JSP)へ渡す方法
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スレッドセーフ?スレッドアン...
-
JSPでImportエラーになります
-
requestの値が削除されません…
-
JSPからServletに、テーブルに...
-
オブジェクトの中のプロパティ...
-
JSPやサーブレットでSystem.out...
-
ORA-01858: 数値を指定する箇所...
-
System.err. printlnとSystem.o...
-
InputStreamはreadが1回しかで...
-
数値⇒漢数字変換 java
-
C言語のポインターに関する警告
-
論理演算子”||”またはの入力方法
-
ループ処理の際、最後だけ","を...
-
[Ljava.lang.Stringってなんですか
-
C#で、あるクラスのメンバーす...
-
flush()とclose()について
-
イメージボタンを作成したいの...
-
IF関数でEmpty値を設定する方法。
-
キーリスナー
-
【Java】再帰的なプログラムで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクトの中のプロパティ...
-
JSPでImportエラーになります
-
StrutsでJSPからListを受け取り...
-
hiddenの値が期待した値で取得...
-
JSPからServletに、テーブルに...
-
requestの値が削除されません…
-
データベースに変数の値を挿入
-
javaの環境変数の%CATALINA_HOM...
-
【Struts】bean:writeタグのpro...
-
PropertyNotFoundException解決...
-
Enumのname()とtoString()の違...
-
Java Struts ~に対するゲッタ...
-
JSPにて、変数を利用してフォン...
-
JSFタグ<h:dataTable>でヘッダ...
-
JSP DB 表示
-
enumでの要素番号から要素名の...
-
サーブレットjspで勤怠スケジュ...
-
JSPでの文字列編集出力
-
文字列の抽出とSQL表作成
-
【struts】 ActionFormで別のAc...
おすすめ情報