Jquery验证和默认文本

时间:2011-07-26 15:48:33

标签: jquery jquery-validate

我正在尝试找到一种方法,可以轻松地将默认值添加到使用jquery validate plugin的表单中。我搜索并没有找到任何有用的东西,最后一个类似的问题是一岁。 所以,再问一遍,是否有简单的方法可以在不弄乱jquery验证代码的情况下将默认值添加到表单中。 当然,当用户开始在字段内输入时,默认值应该消失。

编辑:我认为这个问题有点令人困惑,所以这里有更好的解释。我想将默认文本添加到表单,我希望验证插件忽略该默认值。我知道我可以添加方法来检查值是否是默认值,但由于表格非常大,我更喜欢其他解决方案。就像一些将默认文本放在输入字段上方的插件一样,如果表单被提交的文件未被用户填充,则看起来将插件验证为空。

5 个答案:

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