【问题标题】:jquery Validate errorPlacement insert element + br + errorjquery Validate errorPlacement插入元素+ br +错误
【发布时间】:2014-12-11 19:22:32
【问题描述】:

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

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

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

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

我试过了:

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

...但没有运气。有没有简单的方法呢? 非常感谢任何帮助。

【问题讨论】:

    标签: jquery jquery-validate errorplacement


    【解决方案1】:

    你不需要这样做。

    只需使用the errorElement option 将默认错误元素从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/

    【讨论】:

    • 谢谢,但我需要将 errorElement 作为“标签”,因为我想使用该内联行为验证其他一些输入...
    • 谢谢@Sparky,我已经尝试了最后一种方法,当我附加一些随机文本时,它似乎可以工作,即error.insertAfter(element.append('random'));。但是,当我在其中放入一些 HTML 标记时,没有附加任何内容... :(
    • @andcl85,我不认为append() 是正确的方法,因为它将内容放入目标。见:api.jquery.com/append
    • 非常感谢@Sparky!这正是我想要的!
    【解决方案2】:

    试试这个:

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

    但是你可以使用css:

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

    【讨论】:

      猜你喜欢
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多