• ベストアンサー

リンクでのデータ取得

いつもお世話になっております。 JSPから表示された画面にリストボックスとリンクがあるとします。リンク先はサーブレットになっています。 そこで、リストボックスで何か選択したあと、リンクをクリックした時、リストボックスで選択されている内容もサーブレットに送信するにはどうしたら良いでしょうか? submitであればgetparameterメソッドで取得できるんですが、ボタンではなくリンク形態で実現したいのです。 何卒よろしくお願いします。

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

  • ベストアンサー
  • sakittyo
  • ベストアンサー率36% (4/11)
回答No.2

コードを書いてしまってよいかわかりませんが・・・参考になるのであれば以下をご参照ください。 細かい、所は気にせず書いていますので、自己責任において、参考程度にお使いください。 <html> <head> <script language="JavaScript"> <!-- function go() { document.form2.hoge.value = document.form.korewotobasitai.value; document.form2.submit(); } // --> </script></head> <body> <form name="form" method="post" action=""> <select name="korewotobasitai"> <option value="1" selected>aaa</option> <option value="2">bbb</option> <option value="3">ccc</option> </select> <br> <br> <a href="Javascript:go()" onClick="JavaScript:go();return false">link</a> </form> <form name="form2" method="get" action="http://XXX.XXX.XXX"> <input type="hidden" name="hoge"> </form> </body> </html>

b-u-z-z
質問者

お礼

サンプルありがとうございます。 隠れフォームを作ってJavaScriptでsubmitするなんて技があるんですね! とても参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • sakittyo
  • ベストアンサー率36% (4/11)
回答No.1

このお話はJSPというよりはHTMLの話と思われます(私の認識違いであればすみません)。 リストボックスはFORMタグ内にあるはずですので、リンクを押下した際に、JavaScriptを使用してリストボックスの値を送り先のURI(URL)に付け足すもしくは、別FORMタグにセットしてやりそのFORMをsubmitするという方法ではだめでしょうか?

b-u-z-z
質問者

お礼

早速のアドバイスありがとうございます。 htmlに投げるべき質問でした。すみません。 sakittyoさんのアドバイスの方法でいいと思うんですが、知識不足のためコードが書けないんです…。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リンクでPOSTデータを送信することは可能ですか?

    はじめまして。 Submitボタンを使用せずに<A>リンクでFORMのPOSTメソッドデータを送信することは可能でしょうか? やはりURLにデータを付加して送信するしかないのでしょうか? ご教授よろしくお願い致します。

    • ベストアンサー
    • HTML
  • リストボックスの値の取得

    こんにちは! 簡単な質問でしたらお許し下さい。 VBScriptのリストボックスで指定した値をFormのsubmitボタンをクリック しないで取得したいのですが可能ですか?

  • JSのリクエストからサーブレットに渡されるデータについて。

    現在、JSP+サーブレットでアプリを作成しています。 質問ですが、JSPにあるセレクトメニューの中身全てをサーブレットで受け取ることはできるのでしょうか? <select name="Kouba" size="1"> <option value=10>A工場</option> <option value=11>B工場</option> <option value=12>C工場</option> <option value=13>D工場</option> </select> 上のようなセレクトメニューがあった場合、submitした場合に、サーブレット側で、 String 工場 = request.getParameter("Kouba"); とやれば、選択されていたデータは取得できます。 セレクトメニューの中身全部を取得したい場合はどのようにすればよいのでしょうか? よろしくお願いします。

  • JSPからJAVASCRIPTの値取得

    HTML上でチェックボックス・ラジオボタンで選択した値、どれがチェックされたかを取り出すjavascriptを作成しました。 これをJSPのJAVA側に受け渡ししたいのですが、getparameter以外の方法はありますでしょうか? JAVA側からJAVASCRIPTの関数を呼出し値を取得できれば一番早いのですが。 よろしくお願いします。

  • リストボックスで未選択の項目のvalue値を取得したい

    リストボックスで選択後送信ボタンにより送信された内容から、 未選択の項目のvalue値を取得したいのですが可能なのでしょうか? やりたいことは、送信したリストボックスに表示した全ての項目が知りたく、 さらにその選択状態を判定したいのです。 どうかお力添えを。

  • submitで。。。

    現在、JBuilderを使ってサーブレット+JSPのWEBアプリを作っています。 悩んでいるのは、IEでバックボタンを使って元のページに戻れないようにしたいのですが、 INPUTのTYPEがsubmitの場合、うまくいかないのです。 調べてみると「location.replace()」を使えばよいようなのですが。。。 現在は以下のようにやっています。(TestServletはサーブレット) <input type="submit" action="javascript:location.replace('TestServlet') ~> <input type="text" name="T1"> <input type="submit" name="Submit" value="TEST"> このようにすると、submitボタンを押した場合、リクエストがTestServletのdoPostでなくて、doGetにいってしまうのです。 そうすると「String 値 =request.getParameter("T1");」のようにしてT1の値を取得しようとしても"null"となってしまいます。 なにか他によい方法があるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • MVCモデルでのサーブレットのやること

    Javaを習い始めた者です。 MVCモデルでのサーブレットのやるべきことが、いまいちつかめないので質問させていただきます。 私が思っているサーブレットのすることは、 (1)送られてきたた情報をgetParameter()する。 (2)JavaBeanを生成したり、getAttribute()する。 (3)getParameter()したものをJavaBeanにsetする。 (4)JavaBean内のメソッドを実行する。 (5)JavaBeanをsetAttribute()する。 (6)別のJSPなどにfoward()する。 です。 (基本的に計算や比較などの処理は、サーブレット上では行わず、JavaBean内のメソッドで行う) この考え方は間違っていますか? あと例えば、ログイン認証のプログラムを作るとき、上の考え方だと、getParameter()したIdとPasswordをJavaBeanにsetして、JavaBean内のメソッドで、setしたIdを元にDBからPasswordをgetしてきます。そしてこのPasswordと、setしたPasswordを比較することになると思います。 でも、私的にはJavaBean内のメソッドで、引数にgetParameter()したIdを与えて、DBからgetしたPasswordを戻り値にします。そしてサーブレット上で、このPasswordとgetParameter()したPasswordを比較しようと思いました。 でもこれだと、サーブレット上でPasswordを比較するという処理を行っているのでMVCモデルに反しているのでしょうか? わかりにくい説明で申し訳ないのですが、教えてください。 お願いします。

    • ベストアンサー
    • Java
  • リストボックスから選択したデーターの一つだけを取得する

    VB5.0を使っています。 WIN2000です。 MDBとVBを使っています。 まず、顧客ID・顧客氏名・電話番号  この3つが1つのデータとして横並びの文字列で、リストボックスに表示されてゆきます。 リストボックスに表示したデータを選択し、その選択したデータの”顧客ID”だけを取り出して同じフォーム内のテキストボックスにいったん出し、そこから別のフォームに飛んでその”顧客ID”を元にデータの詳細を出す、といったものを作っていますが、 今のわたしの書いてるコードだけでは、何番の顧客IDを出しても、 別のフォーム(契約入力)に行くときには同じ1番の人のデータ詳細しか出ません。 「リストボックスから選択したデーターの一つだけを取得する」 には、どのようなコードを書けばいいか、教えていただけないでしょうか・・。 リストボックス(List1)から選択してテキストボックス(Text5)に取得する際にはすでに”顧客ID”だけを取り出したいのです。 今のコードでは、顧客ID・顧客氏名・電話番号 とすべてテキストボックス(Text5)にでてきてしまいます。 Private Sub cmnd2_Click()’選択ボタンclickでリストボックスのデータを取得。 Dim ListIndex As Integer Dim SelectedIndex As Integer Text5.Text = List1.List(List1.ListIndex)'→ここでリストボックスからデータを取得しています。 End Sub

  • サーブレットでバイナリの入力データを扱いたい

    サーブレット/Java初心者です。 サーブレットで、 request.setCharacterEncoding("UTF-8"); String hoge1 =request.getParameter("hoge1"); String hoge2 =request.getParameter("hoge2"); のように、リクエストパラメータを取得しています。 hoge2だけ、UTF-8ではなく、バイナリデータとして解釈し、byte[]の変数に格納したい場合は、どうすればよいのでしょうか? APIのドキュメントを見ても、使えそうなメソッドがなくて困っています。

    • ベストアンサー
    • Java
  • hiddenの値が期待した値で取得されないのです

    いつもお世話になっております。 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]が表示されてしまいます。 分かる方がいましたら、ご教授下さい。よろしくお願い致します。

    • ベストアンサー
    • Java