【发布时间】:2015-02-14 21:35:46
【问题描述】:
我有一个跨多个引导程序 3 选项卡的表单。当我单击提交按钮时,我使用
验证跨选项卡的所有输入字段$.validator.setDefaults({
ignore: ""
});
我使用以下功能显示有错误的选项卡
function LoadTabWithError() {
$(".tab-content").find("div.tab-pane:hidden:has(div.has-error)").each(function (index, tab) {
var id = $(tab).attr("id");
$('a[href="#' + id + '"]').tab('show');
});
}
$('#btnSubmit').click(function () {
LoadTabWithError();
}
除了一种情况外,一切正常。当我单击提交按钮时,说错误在 tab2 上,它不显示 tab2。它只是验证并在 tab2 中显示错误。当我第二次再次单击提交时,它会转到选项卡 2。
我认为函数 LoadTabWithError();在验证表单之前调用。在哪种情况下我应该调用该函数,以便它从第一次显示正确的选项卡。
【问题讨论】:
-
将点击功能放入
document.ready,使用on-click。可能会有帮助。 -
你的标签是动态生成的吗?
-
要找到合适的解决方案,我们需要查看相关的 HTML 标记。按钮的标记是什么样的?你在哪里给
.validate()打电话? -
没有@Tushar Raj。它们是静态标签。
标签: jquery twitter-bootstrap-3 jquery-validate asp.net-mvc-5