- ベストアンサー
javascriptの中にcssを書いても動作しません
以下のようにIF分の中へCSSを記述していますがどうしてもエラーになってしまいます。 if(条件){ document.form1.name.focus(); style.backgroundColor="#ff66ff"; return false; } これを実際に動かすと「styleが定義されていません」とエラーになります。 nameに対してcssで色を変更したく色々書き方を変えたりしたんですが いずれも同じ行でエラーになってしまいます。 該当箇所を消すとすべて綺麗に動きます。 上記のような例で該当箇所をCSSとして認識させ正常に動かすにはどのように記述したらいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
はじめまして。 周辺のコードが掲載されていないので、 どういった用途に使われるかわかりませんが、 単に色を変えたいだけでしたら、 -------------------------------- )html <form name="form1"> <input name="n1"> </form> --------------------------------- )js document.form1.n1.style.background="#f6f"; --------------------------------- これで可能です。 ただし、イベントを使わない場合は、 htmlの該当部分をロードした後に、javascriptをロードする必要があります。
その他の回答 (1)
- babu_baboo
- ベストアンサー率51% (268/525)
if(条件){ var e = document.forms[ 'form1' ].elements[ 'name' ]; e.focus(); e.style.backgroundColor="#ff66ff"; return false; } もしくは if(条件){ with( document.forms[ 'form1' ].elements[ 'name' ] ) { focus(); style.backgroundColor="#ff66ff"; } return false; } もしelements[ 'name' ]がふくすうあるなら elements[ 'name' ][ n ] とか? ためしてないけど
お礼
お礼が遅くなりすみません。 自分で最初にやろうとしてたのは多分これですね。 forでelementsの数を繰り返して結果を出そうと思ってました。 babu_babooさんの回答を参考にスマートなものに作り直してみようと思います。 ありがとうございました☆
お礼
お礼が遅くなりすみません。 そのまま試したら一発でできました☆ 用途としてはフォームのチェックで未入力のフォームに色をつける というものでした。 ありがとうございました☆