$('.default-value').each(function() {
var default_value = this.value;
$(this).focus(function(){
if(this.value == default_value) {
this.value = '';
}
});
$(this).blur(function(){
if(this.value == '') {
this.value = default_value;
}
});
});
这段代码非常旧了。现在最好使用placeholder或等效方法。还有一件重要的事情——发送值怎么办?您设置了默认值,但有时这是错误的。
考虑到‘placeholder’是HTML5的一部分,这种JS方法将是旧版浏览器的安全回退……
虽然不确定‘发送值’的问题是什么;如果字段为空,则将应用输入标签的默认‘value’值,如果字段不为空,则保留输入的值。
在我的表单中,我有一些字段不是必需的,但预先填充了值文本作为可用性提示。其中几个字段会经历各种类型的验证(字符数量正确等)。
我该如何只清除这些特定字段的默认值?
示例
我需要在提交时清除“输入促销代码”,以便该值不会经过验证并触发警报。
如果您目标是较新的浏览器(或者如果适应旧版浏览器不是问题),最好这样设置
[代码][/代码]
尽管如此,要使用此JS方法,请将提供的脚本包含在您的页面中并使用以下内容
[代码][/代码]
我的错……太习惯论坛代码标签了。
对于HTML5 ‘placeholder’方法
对于JS ‘value’方法
什么鬼?好吧……让我们这样操作:对于此JS方法,只需将class=”default-value”添加到输入标签中,并将其他所有内容保留为原样。
不幸的是,这也必须在ie6中工作。目前我在输入字段下方使用了一个span来模拟该功能。但我不想那样做。
我使用这两个表单的地方是单输入表单。对于提交,是否可以通过onclick或onsubmit丢弃默认值?
完美!正是我想要的。感谢代码片段。