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 中测试)。

我用 makePlaceholder 替换了您的 setValue 助手名称,并在我的示例中使用了一个非常基本的实现。

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 回答