• ベストアンサー

javascriptの中にcssを書いても動作しません

以下のようにIF分の中へCSSを記述していますがどうしてもエラーになってしまいます。 if(条件){ document.form1.name.focus(); style.backgroundColor="#ff66ff"; return false; } これを実際に動かすと「styleが定義されていません」とエラーになります。 nameに対してcssで色を変更したく色々書き方を変えたりしたんですが いずれも同じ行でエラーになってしまいます。 該当箇所を消すとすべて綺麗に動きます。 上記のような例で該当箇所をCSSとして認識させ正常に動かすにはどのように記述したらいいのでしょうか?

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

  • ベストアンサー
回答No.1

はじめまして。 周辺のコードが掲載されていないので、 どういった用途に使われるかわかりませんが、 単に色を変えたいだけでしたら、 -------------------------------- )html <form name="form1">  <input name="n1"> </form> --------------------------------- )js document.form1.n1.style.background="#f6f"; --------------------------------- これで可能です。 ただし、イベントを使わない場合は、 htmlの該当部分をロードした後に、javascriptをロードする必要があります。

midugane
質問者

お礼

お礼が遅くなりすみません。 そのまま試したら一発でできました☆ 用途としてはフォームのチェックで未入力のフォームに色をつける というものでした。 ありがとうございました☆

その他の回答 (1)

回答No.2

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 ] とか? ためしてないけど

midugane
質問者

お礼

お礼が遅くなりすみません。 自分で最初にやろうとしてたのは多分これですね。 forでelementsの数を繰り返して結果を出そうと思ってました。 babu_babooさんの回答を参考にスマートなものに作り直してみようと思います。 ありがとうございました☆

関連するQ&A