对于以下形式使用jQuery Validation插件:
<form id="information" method="post" action="#"> <fieldset> <legend>Please enter your contact details</legend> <span id="invalid-name"></span> <div id="id"> <label for="name">Name: (*)</label> <input type="text" id="name" class="details" name="name" maxlength="50" /> </div> <span id="invalid-email"></span> <div id="id"> <label for="email">Email: (*)</label> <input type="text" id="email" class="details" name="email" maxlength="50" /> </div> </fieldset> <fieldset> <legend>Write your question here (*)</legend> <span id="invalid-text"></span> <textarea id="text" name="text" rows="8" cols="8"></textarea> <div id="submission"> <input type="submit" id="submit" value="Send" name="send"/> </div> <p class="required">(*) required</p> </fieldset> </form>
如何将错误放在span标签内? (#invalid-name,#invalid-email,#invalid-text)
我读了关于错误放置的文档,但我没有得到它的工作原理。
是否可以处理每个单个错误并将其放在指定的元素中?
谢谢
解决方法
这是一个基本结构,你可以在方法中使用任何你想要的选择器。您有错误元素和无效的元素。
jQuery.validator.setDefaults({ errorPlacement: function(error,element) { error.appendTo(element.prev()); } });
或者为了定位ID,你可以做
jQuery.validator.setDefaults({ errorPlacement: function(error,element) { error.appendTo('#invalid-' + element.attr('id')); } });
没有测试,但应该工作。