• ベストアンサー

データの内容によって表示させる画面を切り替えるには?

Javaを使った開発をしています。 <form name="form1234" method="post" action="/xxxx/xxxx" onsubmit="xxxxx"> HTMLフォームで5個のラジオボタンがあり、選択したボタンによって表示させる画面を変更させたい(上記action= の内容を変えたい)のですがうまくいきません。よい方法があればおしえてください。 HTML側でのコントロール自体、無理でしょうか?

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

  • ベストアンサー
  • ryou0607
  • ベストアンサー率27% (71/261)
回答No.2

JAVAということで、おそらくServletですよね。 Servletの中で、radioの値を読んでHttpRequest.getParameter(radioボタン)で処理(getRequestDispatcher)をわければ、JScriptがoffでもページをわけることができます。

k_kat_october
質問者

お礼

回答が年明けになってしまいましたが、アドバイスいただいたことを参考に、無事解決いたしました。 ありがとうございました。

k_kat_october
質問者

補足

お返事ありがとうございます。ご指摘の通りServletで開発しています。具体的なコーディングは以下の通りです。 <form name="form1234" method="post" action="xxxx/aaa.jsp" onsubmit="xxxx"> 中略 <input type="radio" name="syori" value="1"> <input type="radio" name="syori" value="2"> <input type="radio" name="syori" value="3"> <input type="radio" name="syori" value="4"> <input type="radio" name="syori" value="5"> </form> このラジオボタンの内容をサーブレットで受取り、 int wksyori = Integer.parseInt(request.getParameter("syori")); String wkreq = ""; switch(wksyori){ case 1: wkreq = "/xxxx/aaa.jsp"; break; case 2: wkreq = "/xxxx/bbb.jsp"; break; 以下case3~5まで同様にセット } request.getRequestDispatcher(wkreq).forward(request,response);return; のように記述していますが、HTMLのフォームパラメータはデフォルト値のままでaaa.jspが表示されてしまいます。上記コーディングに不備があるのでしょうか?

その他の回答 (1)

回答No.1

Javascriptで可能です。 こんな感じですかね。Javascriptを無効にしていると働きませんが… function ActionChange(Form) { Form.action = Form.actionchange.value; } <form name="form1234" method="post" action="/xxxx/xxxx" onsubmit="xxxxx" onsubmit="ActionChange(this)"> <input type="radio" name="actionchange" value="aaa"> <input type="radio" name="actionchange" value="bbb"> <input type="radio" name="actionchange" value="ccc"> </form>