0

通常不足している IE をカバーするフォーム フィールドのプレースホルダーとして機能する小さなスクリプトを作成しようとしています。JavaScriptは初めてなので、少し助けていただければ幸いです。どこが間違っているのかわかりません...

function replacer(){

    var infoDef = document.getElementById("info").defaultValue;
    var info = document.getElementById("info");

    info.onblur = changevalue;
    info.onfocus = changevalue;

        function changevalue()
            if (info.value = infoDef) {
                info.value = '';
            }

            else {
                info.value = infoDef;
            }
        }
}

そしてHTML:

<textarea name="info" id="info">Default text...</textarea>
4

1 に答える 1

1

defaultValueを見つけることは良いスタートですが、コードが正しく機能するためにはいくつかの変更が必要です。次のようなものを試してください。

HTML:

<textarea id="txtarea">Default value...</textarea>

JavaScript:

var txtarea=document.getElementById("txtarea");
txtarea.onfocus=function() {
    if (txtarea.value==txtarea.defaultValue) txtarea.value="";
}
txtarea.onblur=function() {
    if (txtarea.value=="") txtarea.value=txtarea.defaultValue;
}

これがテスト済みで動作しているjsFiddleです。IEがなかったらplaceholder、もっと簡単だと言わざるを得ません。

于 2013-02-28T12:44:17.897 に答える