
ある画面(formnn10.jsp)データベースから読込んだ抜粋データをテーブルに出力し、該当する情報を1件選択(パラメータ化)してsubmitボタンで次画面(formn11.jsp)へ送り、再度データベースを読み込み詳細の表示を行う処理を構築中です。
現在、選択はラジオボタンをループで作成し、valueでパラメータを与えています。
この値の一部をJavascriptで取り出し、ダイアログへ選択の確認メッセージとして表示したいのですが、'document.formnn10.parm_No.valueはNull又はオブジェクトではありません'とのエラーメッセージが表示されます。(parm_Noがラジオボタンのnameです。)
デバッグを行わず、次画面formnn11に処理が移ると選択情報の詳細は表示される為、javascriptでの値の取り出し方が問題の様なのですが…。
formnn10.jspのテーブル表示部分のコーディングは次の通りです。
<% for(int j=0;ichiran2[j][0]!=null;j++){
out.println("<tr>")
out.print(" <td align=\"center\">");
out.print("<INPUT type=\"radio\" name=\"parm_No\" value=\""+wkparm_No+"\>");
out.print("</td>")
out.println("</tr>")
javascript側のコーディングは次の通りです。
wkname = document.formnn10.parm_No.value.substring(8);
こんな感じです。ここに未表示のファイル名他の不一致についてはとりあえず無さそうです(手打ちしているので誤打鍵御容赦)
現在はラジオボタン+submitの形式で選択していますが、現行の方法に固執する必要は無く変更可能です。
各行の横で対象指定を行い、Javascriptで値を拾い(ダイアログに表示出来)、formnn11.jspでparm_Noとして値を受取るにはどうすれば良いでしょうか。
No.2ベストアンサー
- 回答日時:
ラジオボタンは、Javascriptでformに対してnameで取ると
各ラジオボタン(同じname)の配列(Array)で返されるようです。
ただし、ラジオボタンが1つだと、要素が1つの配列ではなく
ラジオボタンそのものが返されるようです。
私のよくやる手は、別途hiddenを作る方法です。
まず、ラジオボタン(formに対してnameで取ったもの)を引数に
選択されたvalueを返すfunction、指定したvalueのラジオボタンを
checkedにするfunctionなどを、共通的に作っておきます。
そして、別途作ったhiddenのvalueにラジオボタンで選択された
valueを入れたり、逆にhiddenのvalueをラジオボタンに反映する
といった動きを、submit時、onLoad時にJavascriptでやります。
そして、Servletと結びつけるのはhiddenの方にします。
ラジオボタンの選択されたvalueを送るサンプルです。
(動作確認はしてません)
--------------
<form method="POST" action="formnn11.jsp" onSubmit="copyRadioToHidden(this)">
<%
for(int j = 0 ; ichiran2[j][0] != null ; j++) {
%>
<input type="radio" name="parm_No_Radio" value="<%= j %>">
<%
}
%>
<input type="hidden"parm_No" value="">
<input type="submit">
</form>
--------------
function copyRadioToHidden(form) {
// ラジオボタンの選択されたvalueをhiddenにコピー
form.parm_No.value = getRadioValue(form.parm_No_Radio);
}
function getRadioValue(radio) {
if(radio.length) {
// ラジオボタンが複数個
for(var i = 0 ; i < radio.length ; i++) {
if(radio[i].checked == true) {
return radio[i].value;
}
}
}
else if(radio.value) {
// ラジオボタンが1個
return radio.value;
}
else {
// ラジオボタンがない
return "";
}
}
丁寧な説明迄有難う御座いました。
授受しなければならないパラメータを増やしたく無い
(後々の理解楽そうな)ので、今回はこちらの方法を使わせて頂きます。
有難う御座いました。
No.1
- 回答日時:
javascript側で
ボタン選択回数分ループで回して
チェックされた値を受け取ってからJSPに渡すと
いいと思います。
参考URL:http://www.openspc2.org/reibun/javascript/form/0 …
この回答への補足
字面を読んでしっくり来てなかったのですが、リンクを見て(最初気付いてませんでした、すいません)納得しました。
checkedと値の取り出しを分けて行うという事ですね。一度組み込んで見ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
radio選択をクッキーに保存させ...
-
ラジオボタンのチェック数に応...
-
特定<table>内の<td>の色を変える
-
return trueとreturn falseの用...
-
子から親へチェックボックスの...
-
【UWSC】HTML内のある部分を抽...
-
JavaScriptでテーブルをクリッ...
-
onchangeイベントを強制的に発...
-
ラジオボタンによるフォームの...
-
ASP.NETでNAME属性を固定にしたい
-
<input>の選択肢をプルダウンメ...
-
JavaScriptで特定のtdタグにcla...
-
どちらかひとつのテキストボッ...
-
イントラマート
-
onClickとsubmitの処理順序
-
confirmのOK・キャンセルを押し...
-
セルをドラッグで選択するときに、
-
HTMLのテキストボックスへのド...
-
javascriptで、イベントが発生...
-
特定のID(またはクラス)で括ら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
データベースの値を判断してラ...
-
ラジオボタンとif文
-
JavaScript ラジオボタン デ...
-
リセットボタンでクリアできな...
-
ラジオボタンのリセット方法
-
javascript作成してます。ラジ...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンのValueを受け取り...
-
ラジオボタンでチェックした項...
-
チェックされたラジオボタンに...
-
クイズの正解(○×)をテキスト...
-
ラジオボタンのalertのコントロ...
-
ラジオボタンでdisabledとchecked
-
javascriptを使ってラジオボタ...
-
アンダーバーのname値は取得で...
-
ボタンの無効化
-
javascriptによる動的なリンク...
-
ラジオボタンでの動的項目の変...
-
jQueryで複数のラジオボタンを処理
おすすめ情報