我正在使用jquery验证插件来验证表单。我将表单拆分为选项卡,当您单击下一个按钮时,您只能导航到下一个选项卡。在下一个按钮的onclick事件中,我想确保当前选项卡没有错误。
标签由class form_group标记。默认选项卡html如下所示:
<div id="tab-1" class="form_group">
<div>
<label for="name">Your Name:</label>
<input id="ins_name" type="text" name="name" maxlength="40" />
</div>
<a class="next-tab mover" rel="2" href="#">Next Step »</a>
</div>
一旦由onfocusout事件验证,输入就会被赋予一个&#34;有效&#34;或&#34;错误&#34;
我已经尝试了很多方法来尝试找出当点击下一个标签按钮时当前标签是否输入了类&#34;错误&#34;但是还没弄清楚。
这是我最近的尝试。
$('.next-tab, .prev-tab').click(function() {
if ($(this).find('input.error')) {
alert('error present');
return false;
}
$tabs.tabs('select', $(this).attr("rel"));
return false;
});
任何人都可以帮我说出div是否有输入错误。我的一个问题是$这是使用.next-tab元素。我试图选择最接近的&#34; form_group&#34;班上也没有运气。
答案 0 :(得分:1)
如果您发布脚本的当前不良行为(例如,即使存在错误也会更改标签/即使字段有效也不会更改标签),这会有所帮助。
无论如何,我相信你想要这样的东西:
$('.next-tab, .prev-tab').click(function(e) {
if ($('.form_group input.error').length > 0) {
alert('error present');
e.preventDefault();
}
请注意,.preventDefault()
通常优先于return false
,以防止事件的默认行为:
http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/