• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ロード時に外部ファイル読込(2))

ロード時に外部ファイル読込(2)

このQ&Aのポイント
  • 画面ロード時に、ラジオボタンのValueによってテキストボックスの背景色等を変える処理です。
  • 本ソースにいざ反映させてみると、正常に動作しませんでした;注意ポップアップは出ないのですが、指定したとおりに背景色等が変わらない状態です。
  • お手数ですが、よろしくお願いいたします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1補>var select = oj.rb1[0].checked ? oj.rb1[0].value : oj.rb1[1].value : oj.rb1[2].value : oj.rb1[3].value;という記述でよろしいのでしょうか? だめです。 たくさん有る場合には、 var select=""; var len=oj.rb1.length; for(var i=0;i<len;i++){ if(oj.rb1[i].checked){ select = oj.rb1[i].value; break; } } に置き換えて下さい。 >onClick="clickA(document.myFORM)"としてすでに別で使用しているのですが、一緒に書いても問題ないのでしょうか? 1つのエレメントに2つの onClick 属性は書けないと思います。 既に、設定されているなら、私の書いたモノは必要ないと思います。 switch 文で複数のスタイルの設定があっても、onload 時には、 checked がされているラジオボタンがチェックがついているのに決まっているから、おそらく必要なのだろうと思って書いたまでです。 老婆心ですが、 clickA()があってそれでラジオボタンの状態によってスタイルを変更しているのであれば、onload 時に別のCheck( ) は、必要ないように思います。switch でどのラジオボタンが選ばれているか(onload時には)調べる必要はないし、また、単にデフォルトでスタイルの設定をしておけば良いと思います。

noname#99462
質問者

お礼

お礼が遅くなり申し訳ありません。 頂いた例文ソースで無事動作しました!ありがとうございました。 本ソースを抜粋しすぎて、意味のわかりにくい質問をしてしまい申し訳ありませんでした。 会員情報を新規登録するページで、ラジオボタンを選択し、 それによってテキストボックスの色を変えるページをPHPで作っています。 登録確認ボタン後登録確認画面に遷移し、キャンセルを押下して 新規登録入力画面に戻ると色の情報が保持できていない、という状態だったため、 このような質問をさせていただきました^^; (Checkedは質問文では固定で書いてしまいましたが、PHPでは可変にプログラムしています;) お手間をおかけいたしまして申し訳ありませんでした。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>oj.class.value 同じ名前を付けたエレメントにアクセスするには配列としてアクセスする必要があります。 oj.aName[0].value >oj.class.value class は、予約語です。(古いバージョンのjavascript では、予約語にはなっていませんが、避けるべきです) プロパティなどの識別名としては使用できません。 >braek break の誤りです。 >case 1: >case 2: テキストボックスのvalue は、テキストです。 case "1": case "2": のようにしてやるか、数値に変換する必要があります。 修正したもの function Check(oj){ var select = oj.rb1[0].checked ? oj.rb1[0].value : oj.rb1[1].value; switch (select) { case "1": oj.ATEXT.disabled = true; oj.ATEXT.style.backgroundColor = "#999999"; break; case "2": oj.ATEXT.disabled = false; oj.ATEXT.style.backgroundColor = "#FFFFFF"; break; default: break; } }   <input type="radio" name="rb1" value="1" checked onclick="Check(this.form)">その1   <input type="radio" name="rb1" value="2" onclick="Check(this.form)">その2

noname#99462
質問者

お礼

早速のご回答ありがとうございます。 class,breakについては質問文のミスです、本ソースではどちらも正常でした。 ご指摘ありがとうございます。 申し訳ありませんが、 var select = oj.rb1[0].checked ? oj.rb1[0].value : oj.rb1[1].value; の使い方についてご教授ください。 本ソースではラジオボタンは4つ使用しているのですが、 var select = oj.rb1[0].checked ? oj.rb1[0].value : oj.rb1[1].value : oj.rb1[2].value : oj.rb1[3].value; という記述でよろしいのでしょうか? また、HTMLファイルのほうでは、onclickイベントは onClick="clickA(document.myFORM)"としてすでに別で 使用しているのですが、一緒に書いても問題ないのでしょうか? ご多忙の折恐縮ですが、ご教授願います。

すると、全ての回答が全文表示されます。

関連するQ&A