3

構文に少し苦労しています。プレースホルダーテキストが設定されたメールフォームがあります。下位互換性をサポートするために、Modernizrを使用してValue属性を入力に追加していますが、成功していません。

アイデア?ご協力いただきありがとうございます!

HTML:

<input type="email" name="email" id="email" class="corners" placeholder="Enter your email address" />

JavaScript:

if (!Modernizr.input.placeholder){
  setValue(document.getElementById('email'),'Enter your email address');
}
4

1 に答える 1

1

私の最初の考えは、プレースホルダーのサポートがないため、type="email" 値の操作で問題が発生する可能性があるということでした。クイックjsFiddleをセットアップすると、値を正常に更新できました (IE7 でテスト済み)。

setValue ヘルパー名を makePlaceholder に置き換え、私の例では非常に基本的な実装を使用しました。

function makePlaceholder( el, placeholder ) {
    el.onfocus = function(){
        if( placeholder == el.value ) {
            el.value = '';
        }
    };
    el.onblur = function() {
        if( '' == el.value && placeholder != el.value ) {
            el.value = placeholder;
        }
    };
    el.value = placeholder;
}

これをあなたのソリューションに自由に適応させてください。

于 2012-08-16T02:25:50.963 に答える