• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フレームワークによってどうしてもname属性がa[1].bになってしまうとき)

フレームワークによってどうしてもname属性がa[1].bになってしまうとき

このQ&Aのポイント
  • Strutsのiterateの中にチェックボックスが存在し、次の画面でチェックが入っているかどうかを判断するために、name属性を特定の形式で宣言する必要があります。
  • このため、HTMLに変換されるとname属性がa[1].bのようになってしまいます。
  • name属性が異なるため、JavaScriptで一括でチェックをつけたり消したりすることがうまくいきません。

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

name属性は確かに特殊な値ですが、それが問題ではないと思います。 inform.name.checked = check; のところを inform[name].checked = true; としてみて下さい。

dorazaemon
質問者

お礼

ありがとうございました。まる1日悩んでいたのがうそのように解決しました。本当にありがとうございます。

その他の回答 (1)

回答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』を返します。

dorazaemon
質問者

お礼

ご丁寧に、ソースの解析をしていただきまして、本当にありがとうございます。おかげでたすかりました。

関連するQ&A