人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

html の input / select の背景色をfocus時に変更したいのです。1ページあたり30個ほど input / select があります。
ブラウザはIE6、変更時の背景色は1色です。
htmlには何も記述せずにjsファイルで制御したいのです。

以上、可能でしょうか?
可能でしたら方法を教えてください。

●質問者: wm107p
●カテゴリ:インターネット ウェブ制作
✍キーワード:Focus HTML IE6 js SELECT
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● llusall
●60ポイント

こちらでいかがでしょうか?

以下のjsファイルをhtmlファイルに追加してください。



■サンプルのHTMLファイル(sample.html)

<html>

<body>

<input type="text" value="" >

<br>

<input type="text" value="" >

<br>

<select>

<option value="1">1 

<option value="2">2 

<option value="3">3 

</select>

</body>

</html> 

<!-- 外部JavaScriptファイル                          -->

<SCRIPT LANGUAGE="JavaScript" src="hoge.js" ></SCRIPT>


■外部JavaScriptファイル(hoge.js)

function FocusColor(){

    if (event.srcElement.tagName == 'INPUT')   { // <INPUT>   のとき

        if (event.srcElement.type == 'text' || event.srcElement.type == 'password') {

            // type="text" か "password" だったら

            event.srcElement.style.background = 'pink';

            return;

        }

    }

    if (event.srcElement.tagName == 'SELECT')   { // <SELECT>   のとき

            event.srcElement.style.background = 'pink';

            return;

    }

}

function BlurColor(){

    if (event.srcElement.tagName == 'INPUT')   { // <INPUT>   のとき

        if (event.srcElement.type == 'text' || event.srcElement.type == 'password') {

            // type="text" か "password" だったら

            event.srcElement.style.background = 'white';

            return;

        }

    }

    if (event.srcElement.tagName == 'SELECT')   { // <SELECT>   のとき

            event.srcElement.style.background = 'white';

            return;

    }

}

// イベントの割り当て

var oElements;

oElements = document.getElementsByTagName("INPUT");

for (var i = 0; i < oElements.length; i++) {

    oElement = oElements[i];

    if (oElement.type == 'text' || oElement.type == 'password') {

        oElement.onfocus=FocusColor;

        oElement.onblur=BlurColor;

    }

}

oElements = document.getElementsByTagName("SELECT");

for (var i = 0; i < oElements.length; i++) {

    oElement = oElements[i];

    oElement.onfocus=FocusColor;

    oElement.onblur=BlurColor;

}

http://www.yahoo.co.jp ダミー

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ