• ベストアンサー

URLで動的な値をパラメータとして渡す場合

JSPの勉強中の初心者です。 質問ですがURLで動的な値をパラメータとして渡す場合、どの ように記述するかわかりません。 <INPUT type=text name="coment"> <FORM action="MainController" method="post">  ---(A) <A href="MainController?coment=???>     ---(B)  (A)では値を渡す事の確認が出来たのですが (B)はどのように記述するかわからない状態です。 どうぞ教えて下さい。 

  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 これはJSP以前の話で、「HTML(というかブラウザ上)でJavaScriptを使わずにAタグで動的URLを作る事はできない。」のです。  なので、INPUTタグでラジオボタンやテキストで入力する内容をサーバに渡すためには、必ずFORMにしなければなりません。  ブラウザが限定できるのであればクライアントスクリプトを書いても良いでしょう。AタグのonClickにJavaScriptでFORMの内容を取るようなスクリプトを書くべし。

tomojyuu
質問者

お礼

回答ありがとうございます。 なるほどわかりました。JavaScriptは勉強不足でした。 <A href="MainController?coment=ドラえもん>   ---(B) 固定値なら送る事が可能なんですけどね。 

関連するQ&A

  • リクエストパラメータの値によってJavaScriptでスタイルを変更する場合

    いつも参考にさせて頂いてます。 早速なのですが以下のことが分からず困っています。 親画面から子画面へ遷移する。 その際、チェックボックスの値を複数個POSTで送信する。 子画面で受け取った値をhiddenにそのまま保持し、 孫画面にそのままPOSTで送信する。 JSPを使っているのですがこういったことは可能なのでしょうか? ■親画面 <form method="POST" name="data2" action="child.jsp">   <input type="checkbox" id="check" name="check" value="1>   <input type="checkbox" id="check" name="check" value="2">   <input type="checkbox" id="check" name="check" value="3">   <input type="submit" value="送信"> </form> ■子画面 window.onload = function(){   //画面遷移時にリクエストパラメータをhiddenにセット   document.data.check2.value = <%= request.getParameterValues("check") %>; } ~略~ <form method="POST" name="data2" action="grandchild.jsp">   <input type="hidden" id="check2" name="check2" value="">   <input type="submit" value="送信"> </form> こんな感じで孫画面へそのまま渡せるのかな?と思ったのですが うまく行きませんでした。 アドバイスなどありましたら宜しくお願いします。

  • 同一ページの複数のフォーム通信

    お世話になります。 <form method='POST' action='#1'> <input name='text1'> <input name='text2'> <form method='POST' action='#2'> <input name='text3'> <input method='submit' value='B'> </form> <input method='submit' value='A'> </form> Aにて text1,2,3を#1へ送信 Bにて text3を#2へ送信 したいのですが、上手くできません。 <form></form>で囲まれている中に 更に<form></form>する事はできないのでしょうか? 代替案はありますか?? よろしくお願いします。

  • サーブレットのパラメタ変更

    例えば、 - a.html - <form method="post" action="/Servlet1"> <input type="text" name="animal" size="12"> <input type="submit" value="送信"> </form> というHTML文がありanimalのテキスト内容がcatとしてServlet1へリクエストしたとします。 Servlet1ではgetParameter("animal")でcatを取得できます。そこで次のページをレスポンスするべく、 getServletContext().getRequestDispatcher("Jsp1.jsp").forward( request, response ); という形でJsp1.jspへフォワードします。Jsp1.jspでもrequest.getParameter("animal");とすると catという値が取得できると思うのですが、これをServlet1でanimalがcatならdogというようにパラメータの値を変更することはできますでしょうか? 初歩的な質問かと思いますが、何卒、宜しくお願いいたします。

    • ベストアンサー
    • Java
  • URLにパラメータを記述して結果を得るには?

    URLにパラメータを記述して結果を得るには? フォームに入力する内容を、URLに記述してアクセスしたいのですが、 うまくいきません。どこが悪いのでしょうか。 ■うまくいかないURL(自作) http://www.*********/test.php?AAAA=A1&BBBB=B1&CCCC=C1&DDDD=D1&submit=E1 ■フォームのソース <form action=test.php method=post name=test> <input type=hidden name=AAAA value=A1> <input type=text maxlength=4 name=BBBB value="B1"> <input type=text maxlength=2 name=CCCC value="C1"> <select name="DDDD"> <option value="D1">DDDD1</option> <option value="D2" selected="selected">DDDD2</option> </select> <input type=submit value=E1> <input type=submit NAME="FFFF" value="F1"> </form> ■補足 ソースに対してご意見があるかもしれませんが、ソースは変更できません。 そういった前提でお願い致します。

    • ベストアンサー
    • PHP
  • データを送るのと値を渡すのを同時に行いたい

    a hrefでデータを送るのと値を渡すのを同時に行いたいのですがどうすればいいのでしょうか。 下記のa hrefでのデータを送りに<a href="http://www.localhost/hoge.php?name=papa&age=30"> のような固定された値を受け渡したいのですがどのようにすてばいいのでしょうか <form name="form1" action="test" method="post"> <input type="hidden" name="str" value="aaa"> <A HREF="javaScript:form1.submit();">ここの書き方がわかりません</A> <form>

  • テキストボックスの値のチェック

    テキストボックスの値が未記入であったときに、submitボタンを押したときのジャンプ先のページを変えたいときはどのようにすれば良いのでしょうか? <input type="text" name="Test" size="25"> ↑ これが未記入の時は、 <form action="http://aaa.html" method="post" name="test"> にジャンプして、もし値が入っているときは、 <form action="http://bbb.html" method="post" name="test"> にジャンプさせるっていう感じにしたいのですが... 宜しくお願いします。

  • 同じformタグの中にあるボタンで別々のページに遷移したい(ブラウザ依存を考慮)

    はじめまして。 現在、ショッピングサイト構築の勉強をしています。その中で、わからない点がありましたので、皆様に教えて頂ければ幸いです。 【したいこと】 現在書いているコードは以下の通りです。 <html> <head> </head> <body> <form method="post" action="ok.jsp"> <input type="text" name="A"> <input type="submit" value="B"> <input type="submit" value="C"> </form> </body> </html> やりたいことは、 「Cが押された場合は、AとCの値をok.jspに送信」 「Bが押された場合は、Bの値のみをng.jspに送信」 できるようにすることです。 ちなみに、画面レイアウトの関係で、A,B,Cの順番は変えれません。 JavaScriptを使用して <略> <form method="post" action="ok.jsp"> <input type="text" name="A"> <input type="submit" value="B" onClick="location='ng.jsp';return false"> <input type="submit" value="C"> </form> のように記述すると、JavaScriptを許可している場合は実現できました。ただ、JavaScript未対応(拒否)の場合にも実現できる方法がわかりません。このままの記述だと、未対応の場合はok.jspに遷移してしまいます。 何か良い方法をご存知の方がいらっしゃいましたら、是非教えてください。よろしくお願いします。

  • 値の受け渡しについて

    JavaScriptを使用しa.htmlからb.htmlへ 値の受け渡しについて分らない事があります。 やりたいことはa.html内にある <a href="b.html">あああ</a>の「あああ」の値を b.html内にある<INPUT>に入れたいのです。 現在記述しているコードを下記記しますので 何方かご教授お願いします。 ■a.html <html> <a href="b.html" onclick="this.href=this.href+'?'+encodeURIComponent(this.innerHTML)">あああ</a> </html> ■b.html <html> <script type="text/javascript"> query = decodeURIComponent( location.search.slice(1,1000) ); document.getElementById('in_name').value = query; </script> <form> <INPUT type="text" id="in_name" name="in_name" value=""> </form> </html>

  • formによるパラメータ送信がうまくいきません

    こんばんは。 HTML初心者です。 formによるパラメータを送信しようと考えているのですが、 送信方法によってパラメータが異なってしまい、困っています・・・。 以下のようなformを使って、パラメータをpostしています。 <form name="form1" action="http://xxx/xxx/xxx" method="post"> <input type="text" name="text1"> <input type="submit" value="sousin" name="submit1"> </form> 送信してみたところ、送信方法によって、送るパラメータに差異があることに気が付きました。 ************************************************** 1.テキストに文字列を入れて、送信ボタン(sousin)を押す。 ->リクエストパラメータが、submit1=sousin と text1=文字列 になる。 2.テキストに文字を入れて、フォーカスがテキストにある状態で、Enterを押す。 -> リクエストパラメータが、text1=文字列 だけになる。 ************************************************** 1.と2.どちらの場合でも、 submit1=sousin と text1=文字列 を送りたいと考えています。 クエリストリングは使いたくないので、 onclickをつけてみたり、JavaScriptで少し考えてみましたが、 どうしてもうまくいきませんでした・・・。 2.のように、Enterを押したときでも、 submit1=sousinを送るようにするのはどうしたらよいでしょうか?? 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • パラメータが受け取れません。

    パラメータが受け取れません。 input.php と inputData.phpがあります。 input.phpには入力フォームと、登録ボタン押下時に 自画面を呼び出し、入力チェックを行っており、エラーの場合 エラーメッセージを表示、エラーではない場合、inputData.phpに 画面遷移しますが、パラメータが受け取れません。 *input.php if(empty($_POST["name"])){ $err ="えらー"; }else{ header("Location:http://localhost:8080/aaa/inputData.php"); } <form action="input.php" method="post"> <input type="text" name="name" value="aaa"> <input type="submit" name="name" value="bbb"> </form> このようなやり方はできないのでしょうか? お分かりになる方ご教授よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう