0
 <p class="e-cp">
      <label for="cp"><span class="red">*</span>C.P.:</label>
      <input type="text" id="cp" name="cp" maxlength="5" value="12345"/>
      <a href="#" id="cp_no" name="cp_no" class="cp_help">No recuerdo mi C.P.</a>
      <label id="error_1"></label>
 </p>

我正在尝试在<label id =“error_1”>中添加错误消息,并在输入为焦点时使其消失,但我还没有找到如何去做。

我正在使用这个规则:

 cp:{
      required: {
           depends: function(element) {
                if ($("input[name='cp']").val() != "") {          
                     return false;
                } else {
                     return true;
                }                  
           }
      },

我一直在尝试在返回 true 之后在 else 语句中设置功能。

4

1 回答 1

0

如果您使用来自Jquery 验证的验证器(我认为您是,从您的代码片段中猜测),您不需要自己实现此功能。

您只需要为您的元素将required规则设置为true 。cp要消除焦点错误,请将focusCleanup选项设置为true

这是工作小提琴

$("form").validate({
    debug: true,
    focusCleanup: true,
    rules: {
        cp: "required"
    }
});

此外,您不需要添加自己的标签字段error_1,因为验证器本身会在有错误的元素之后附加错误标签。如果你真的需要它,你必须重写error验证器的默认功能,更多相关的东西可以在这里找到。

于 2013-08-13T22:46:08.847 回答