jquery 验证错误放置插入元素 + br + 错误



我正在尝试使用jQuery Validation DOCS中的"errorPlacement",如下所示:

$("#myform").validate({
    errorPlacement: function(error, element) {
        error.insertAfter(element);
    }
});

到目前为止一切顺利,但我真正想要的是每种情况下在输入和错误标签之间插入一个
标签:

<input>
**<br />**
<label class="error">

我尝试过:

error.insertAfter(element.append($('<br />'));

。但没有运气。有没有简单的方法可以做到这一点?任何帮助都非常感谢。

你不需要这样做。

只需使用 errorElement 选项将默认错误元素从 label(内联)更改为 div(块),以便它自动换行到下一行。

$("#myform").validate({
    errorElement: "div", // default is 'label'
    errorPlacement: function(error, element) {
        error.insertAfter(element);
    }
});

否则,您的代码...

error.insertAfter(element.append($('<br />'));
  • 缺少右括号,)
  • 格式不正确...你不要在jQuery选择器中附加一个字符串,$()

将。。。

error.insertAfter(element.append('<br />'));

但是,这仍然无法按预期工作,因为append()正试图将内容放入element .


这种方式按照您的要求工作...

$("#myform").validate({
    errorPlacement: function(error, element) {
        element.after(error).after('<br/>');
    }
});

演示:http://jsfiddle.net/1pfvug7r/

试试这个:

$("#myform").validate({
    errorPlacement: function(error, element) {
        error.insertAfter(element);
        $('<br/>').insertAfter(element);
    }
});

但是你可以使用 css:

input, 
label.error {float:left;clear:both;}

相关内容

最新更新