- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フレームワークによってどうしてもname属性がa[1].bになってしまうとき)
フレームワークによってどうしてもname属性がa[1].bになってしまうとき
このQ&Aのポイント
- Strutsのiterateの中にチェックボックスが存在し、次の画面でチェックが入っているかどうかを判断するために、name属性を特定の形式で宣言する必要があります。
- このため、HTMLに変換されるとname属性がa[1].bのようになってしまいます。
- name属性が異なるため、JavaScriptで一括でチェックをつけたり消したりすることがうまくいきません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
name属性は確かに特殊な値ですが、それが問題ではないと思います。 inform.name.checked = check; のところを inform[name].checked = true; としてみて下さい。
その他の回答 (1)
- caitsith_goo
- ベストアンサー率59% (28/47)
回答No.2
inform.name.checked = check; で記述がある『check』は、 onClick="BoxChecked(true)" onClick="BoxChecked(false)" で渡された値であるとして説明します。 以下のようにすると特定の名前を持つオブジェクトに対して一括で処理を行うことができます。 function BoxChecked(check) { for(var i=0; i<document.form.elements.length; i++) { var obj_name = document.form.elements[i].name; if (obj_name.search(/^selectTimesInfo/)==0) { document.form.elements[i].checked = check; } } } if (obj_name.search(/^selectTimesInfo/)==0) { とある行で他にも条件を追加すればもっと条件を絞り込むことができます。 obj_name.search(/^selectTimesInfo/) はマッチする場合は『0』マッチしない場合は『-1』を返します。
質問者
お礼
ご丁寧に、ソースの解析をしていただきまして、本当にありがとうございます。おかげでたすかりました。
お礼
ありがとうございました。まる1日悩んでいたのがうそのように解決しました。本当にありがとうございます。