• 締切済み

strutsでラジオボタンを非活性にしたい

プログラミング初心者です。ご指導お願いします。 strutsを使って、(javascriptを使うんだと思うのですが) 二つあるラジオボタンで、ひとつを選択後、実行して 同じページに結果を返したときに、結果表示ページで変更できないようにラジオボタンを非活性にしたいのですが、なかなかうまくできません。 ソースはこんな感じです。 <html:radio onclick="radiocheck()" property="searchType" value="1" />注文番号 <html:radio onclick="radiocheck()" property="searchType" value="2" />品名 function JS_DoInit( a_numType ) { switch ( a_numType ){ case M_NUM_SCREEN_INIT_TYPE_INIT: break ; case M_NUM_SCREEN_INIT_TYPE_LIST: document.all("radiocheck")[0].disabled = true; document.all("radiocheck")[1].disabled = true; ラジオボタンは配列になってるので、順番を指定すればいいのかなと思って上記のようなソースを書いて見ました。 どう直せばよろしいでしょうか。ご指導お願いします。 一人で勉強していて、詰まってしまい質問させていただきました。 助けていただけるとありがたいです

みんなの回答

  • Kilm
  • ベストアンサー率87% (7/8)
回答No.2

申し訳ありません… html:radio に name="radioBtn"を指定しているソースは input type="radio"の感覚で書いてしまっていて、間違えていました… -------------------------------------------------- case M_NUM_SCREEN_INIT_TYPE_LIST: var inputElements = document.getElementsByTagName("input"); for(var i = 0; i < inputElements.length; i++){ if(inputElements[i].type != "radio") continue; inputElements[i].disabled = true; } -------------------------------------------------- Strutsの方は logic:notEqualタグの上部のlogic:equalタグと 各ボタンの name="radioBtn" が余計でした。

  • Kilm
  • ベストアンサー率87% (7/8)
回答No.1

inputタグでtypeが"radio"のノード もしくはあらかじめnameを指定する事で可能だと思います。 実行してないので間違えているかもしれませんが… -------------------------------------------------- var inputElements = document.getElementsByTagName("input"); for(var i = 0; i < inputElements.length; i++){ if(inputElements[i].type != "radio") continue; inputElements[i].disabled = true; } -------------------------------------------------- <html:radio onclick="radiocheck()" property="searchType" value="1" name="radioBtn"/>注文番号 <html:radio onclick="radiocheck()" property="searchType" value="2" name="radioBtn"/>品名 var radioElements = document.getElementsByName("radioBtn"); for(var i = 0; i < radioElements.length; i++){ inputElements[i].disabled = true; } -------------------------------------------------- ちなみにJavaScriptを使わなくても結果表示ページである事が分かればStrutsで可能です -------------------------------------------------- <logic:equal name="Bean名" property="プロパティ名" value="結果表示ページフラグ"> <html:radio onclick="radiocheck()" property="searchType" value="1" name="radioBtn" disabled="true"/>注文番号 <html:radio onclick="radiocheck()" property="searchType" value="2" name="radioBtn" disabled="true"/>品名 </logic:equal> <logic:equal name="Bean名" property="プロパティ名" value="結果表示ページフラグ"> <logic:notEqual name="Bean名" property="プロパティ名" value="結果表示ページフラグ"> <html:radio onclick="radiocheck()" property="searchType" value="1" name="radioBtn"/>注文番号 <html:radio onclick="radiocheck()" property="searchType" value="2" name="radioBtn"/>品名 </logic:notEqual> --------------------------------------------------

参考URL:
http://tag.main.jp/logicequal.html
somehow123
質問者

お礼

回答ありがとうございます。 java scriptのほうでやってみたんですが、 終了タグ"logic"がありませんとエラー表示されます。 logicを使ってないのですが、、、

somehow123
質問者

補足

すみません、、、 ずっといろいろ試行錯誤やってみたんですが、 下記のようなエラーがでます。 ”radioBtn という名前のbeanが見つかりません” 皆様にはどうしようもないような質問かもしれませんが、 どうかご教授お願いいたします。

関連するQ&A