语法有点困难。我有一个设置了占位符文本的电子邮件表单。为了支持向后兼容性,我使用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');
}
我最初的想法是,缺少占位符支持可能会在操作type="email"值时出现问题。在设置一个快速的jsFiddle时,我能够成功地更新值(IE7中的testd)。
我用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;
}
请随意将其调整到您的解决方案中,希望它能帮助您。