在我的网站上,我有导航和主要内容区域。单击导航链接时,主内容区域内的内容始终通过ajax加载。如果单击链接" Contact",将加载一个文本,其中包含一个包含联系表单的jQuery对话框的链接。
问题:当您加载网站并导航到联系表单区域时,验证工作完全正常。但是,如果你导航到另一个内容区域(=通过ajax加载另一个内容),然后返回联系表单区域并单击提交按钮(没有重新加载页面之间),验证失败,被忽略和表单动作得到执行。如果您重新加载页面然后导航到联系表单区域,一切都会再次运行。
我无法理解这种行为。有什么奇怪之处:在jQuery对话框中未打开的内容区域中验证另一个表单总是有效,无论你之前点击过什么。所以必须是因为jQuery对话框弹出和Ajax。谁能理解这个问题?
我的代码来了:
HTML:
<a href="#popup-form-test" id="open-popup-form-test">open form test popup</a>
<div id="popup-form-test">
<form id="form-test" action="somelink">
<input type="text" placeholder="testtext eingeben" name="testText"></input>
<input type="submit" value="submit">
</form>
</div>
JS:
var dialogTest = $("#popup-form-test").dialog({
autoOpen: false,
modal: true,
close: function () {
console.log('closed');
}
});
$("#open-popup-form-test").on("click", function () {
dialogTest.dialog("open");
});
$('#form-test').validate({
debug: true,
rules : {
testText: {
required: true
}
},
submitHandler: function(form) {
alert('submitted');
}
});
答案 0 :(得分:0)
你必须使用。{dialog()的open回调并在那里插入验证器:
Test Passed! - Correct Landing Page
PASSED on: Acapulco we had: Acapulco
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at mypackage.myclass.main(myclass.java:71)
我无法在没有有效示例的情况下进行测试,但它应该有效。