我正在尝试找到一种方法,可以轻松地将默认值添加到使用jquery validate plugin的表单中。我搜索并没有找到任何有用的东西,最后一个类似的问题是一岁。 所以,再问一遍,是否有简单的方法可以在不弄乱jquery验证代码的情况下将默认值添加到表单中。 当然,当用户开始在字段内输入时,默认值应该消失。
编辑:我认为这个问题有点令人困惑,所以这里有更好的解释。我想将默认文本添加到表单,我希望验证插件忽略该默认值。我知道我可以添加方法来检查值是否是默认值,但由于表格非常大,我更喜欢其他解决方案。就像一些将默认文本放在输入字段上方的插件一样,如果表单被提交的文件未被用户填充,则看起来将插件验证为空。
答案 0 :(得分:1)
<input type="text" name="user" id="user" value="YOUR DEFUALT VALUE" />
或
$("#user").attr("value", "YOUR DEFAULT VALUE");
只需在dom中使用上面的代码即可,我认为应该没问题。
答案 1 :(得分:1)
如果您正在谈论验证失败后看到的消息,那么您可以执行类似的操作。如果您正在谈论文本框的默认值,请查看@Caimen的答案。
$("form").validate({
rules: {FirstName: "required defaultCheck"},
messages: {
FirstName: "First name is required"
)};
即使您已经选择了答案,这可能对某人有所帮助。 如果您希望验证器忽略我认为您一直想要的默认文本,则可以执行此操作。
$.validator.addMethod(
'defaultCheck', function (value, element) {
if (element.value == element.defaultValue) {
return false;
}
return true;
});
答案 2 :(得分:1)
如果您只是将其用作吸引力,则可以使用占位符属性<input name="search" type="text" placeholder="Enter some keywords..." />
答案 3 :(得分:0)
扩展上一个答案:
HTML:
<input type="text" name="user" id="user" value="YOUR DEFUALT VALUE" />
您不应该从表单字段中清除默认值。
答案 4 :(得分:0)
我就是这样做的:
<input name="firstName" value="First Name" defaultValue="First Name">
然后在验证中:
if(object.value != object.defaultValue)
// validation