我正在使用jQuery选项卡并验证所有字段被填充之前允许用户移动到下一个选项卡。在一些选项卡中,有些选项可供用户从多个选项中进行选择,有时,用户将单击选项1并选择选项2,但当他们尝试单击上一个按钮时,将验证这些字段,并且不会让它们直到他们填补了垃圾UX的所有领域。jQuery选项卡和验证
我想只验证点击下一个按钮,而不是点击上一个按钮。
<a class="btn nexttab navbutton" href="#step1">Previous</a>
<a class="btn nexttab navbutton" href="#step3">Next</a>
这里是我使用当前的代码:
var validator = $("#start").validate();
var tabs = $("#tabs").tabs({
select: function(event, ui) {
var valid = true;
var current = $(this).tabs("option", "selected");
var panelId = $("#tabs ul a").eq(current).attr("href");
$(panelId).find(":input").each(function() {
console.log(valid);
if (!validator.element(this) && valid) {
valid = false;
}
});
return valid;
}
});
为了尝试解决这个我添加了一个叫下一个按钮下一个按钮类只,然后试图改变这一行我假设检查任何输入:
$(panelId).find(":input").each(function() {
到:
$(".nextbutton").click(function() {
,但它允许用户移动到下一个屏幕而不必填写所有字段。
我该如何做到这一点,只有向前移动被验证?
http://jsfiddle.net/553xmzh3/1/
这似乎并没有为我工作 - 我读http://jqueryvalidation.org/reference#skipping-validation-提交使用class = cancel现在已被弃用。此外,我正在使用href作为上一个/下一个,因为我在制表符中使用它,可能会有所作为吗? – bhttoan
@bhttoan,不赞成或不赞成,它在上面的jsFiddle中工作。新的方式也在这里工作:http://jsfiddle.net/4zdL8ha3/1/〜你使用锚标签而不是'type =“submit”'元素的事实与你的失败有关。您应该首先显示该标记。 – Sparky
谢谢@Sparky - 锚标记问题的答案是我使用标签,所以我需要分配一个href链接,这就是为什么我在第一个地方使用锚标签,而不是实际的按钮,我知道没有有效的方法在不使用onclick – bhttoan