[JavaScript]

フォームコントロールにフォーカスを受けた時に、背景色を変えるなどの処理を加える場合、
<input type=”text” onfocus=”this.background=”#EFF” onblur=”this.background=”#FFF” />
などとすると思いますが、フォームコントロールがページ内に大量にある場合の記述が面倒です。

一括で行う方法をよろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/06/30 17:17:41
  • 終了:--

回答(3件)

id:kawai0000 No.1

kawai0000回答回数95ベストアンサー獲得回数02005/06/30 17:29:35

ポイント10pt

http://www.vector.co.jp/soft/win95/util/se072729.html

TextSS(Windows95/98/Me / ユーティリティ)

私の場合、該当するページや箇所を、置換ソフトを使って全て書き換えています。

これなら、そのページに限らず、全てのページに適用できますがいかがでしょうか?

id:akame23

ご回答ありがとうございます。

ページ内にあるフォームコントロール全てに質問内容の処理を加えるスクリプト(JS)を求めます。

ひとつひとつにonfocus,onblurを記述するのが面倒(メンテナンス性が悪い)なのです。よろしくお願い致します。

2005/06/30 17:33:43
id:english No.2

english回答回数304ベストアンサー獲得回数02005/06/30 17:38:28

ポイント50pt

</body><html>の後ろに、

---------------------ここから-----------------

<script>

function chBa(){

this.style.backgroundColor=”#EFF”;

}


function chCa(){

this.style.backgroundColor=”#FFF”;

}

n=document.forms[0].elements.length;

for(i=0;i<n;i++){

document.forms[0].elements[i].onfocus = chBa;

document.forms[0].elements[i].onblur = chCa;

}

</script>

</body>

</html>

--------------------ここ------------------

のようにすれば、良いかと思います。formの数が1個の場合です。普通は1個だと思います。


IE6とFirefox1.0.4、Netscape7.1、Opera7.54u2(以上、WindowsXP)、Safari2.0、MacIE5.2.3で確認しました。

id:akame23

ご回答ありがとうございます。

ご提示頂きましたスクリプトをファンクションにまとめ、onload で呼び出す事で実現出来ました!

ありがとうございました。

2005/06/30 17:48:26
id:typista No.3

typista回答回数359ベストアンサー獲得回数72005/06/30 17:46:15

ポイント10pt

以下のようなロジックで可能です。

※戻し(onBlur)はご自分で作成してください。


<html>

<script language=”JavaScript”>

function changeBackground() {

for( i = 0; i < document.forms[”hoge”].length; i++ ) {

document.forms[”hoge”][i].style.backgroundColor = ”#ff0000”;

}

}

</script>

<body>

<form name=”hoge”>

<input type=”text” name=”test1” width=”50” onFocus=”changeBackground()” />

<input type=”text” name=”test2” width=”50” onFocus=”changeBackground()” />

<input type=”text” name=”test3” width=”50” onFocus=”changeBackground()” />

</form>

</body>

</html>

id:akame23

ご回答ありがとうございました!

これにて終了させて頂きます。

2005/06/30 17:49:06

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません