- ベストアンサー
データの内容によって表示させる画面を切り替えるには?
Javaを使った開発をしています。 <form name="form1234" method="post" action="/xxxx/xxxx" onsubmit="xxxxx"> HTMLフォームで5個のラジオボタンがあり、選択したボタンによって表示させる画面を変更させたい(上記action= の内容を変えたい)のですがうまくいきません。よい方法があればおしえてください。 HTML側でのコントロール自体、無理でしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
JAVAということで、おそらくServletですよね。 Servletの中で、radioの値を読んでHttpRequest.getParameter(radioボタン)で処理(getRequestDispatcher)をわければ、JScriptがoffでもページをわけることができます。
その他の回答 (1)
- flowermaze
- ベストアンサー率56% (159/282)
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>
お礼
回答が年明けになってしまいましたが、アドバイスいただいたことを参考に、無事解決いたしました。 ありがとうございました。
補足
お返事ありがとうございます。ご指摘の通り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が表示されてしまいます。上記コーディングに不備があるのでしょうか?