Javascript 如何使用jquery验证阻止通过菜单链接进行导航(如果表单无效)
我有一张表格:Javascript 如何使用jquery验证阻止通过菜单链接进行导航(如果表单无效),javascript,jquery,forms,jquery-validate,Javascript,Jquery,Forms,Jquery Validate,我有一张表格: <form id="myform" method="post" action="www.wherever.com/page2"> <div class="question"> <label for="q1">What is your name?</label> <input id="q1" name="q1" size="10" maxlength="10"/> </div> <input ty
<form id="myform" method="post" action="www.wherever.com/page2">
<div class="question">
<label for="q1">What is your name?</label>
<input id="q1" name="q1" size="10" maxlength="10"/>
</div>
<input type="submit" value="Continue" />
</form>
我还有一个侧栏菜单,允许用户在表单中跳转(这是一个多页表单,每个页面在此菜单中都有一个链接)
<div id="leftmenu" class="leftmenu">
<ul id="sidebarmenu1">
<li><a href="?page=introduction">Page 1</a></li>
<li><a href="?page=introduction-2">Page 2</a></li>
<li><a href="?page=survey-2">I: Page 3</a></li>
</ul>
</div>
我可以看到,当这些点击发生时,验证错误会起作用,但浏览器仍然会离开页面——这与通过“继续”按钮提交表单时不同
我如何调整它,使jquery验证器阻止这些链接工作
谢谢。发生这种情况是因为锚定标记的默认操作 表单被提交,但由于默认行为,它被重定向到不同的页面 不要将单击事件添加到
#leftmenu
,而是将其添加到锚点,并确保停止默认操作
$('#leftmenu a').on('click',function(e) {
// Prevents the default action of
// redirecting to the page specified.
e.preventDefault();
// Submit the form which will validate
$('#myform').submit();
});
太棒了-这很管用,感谢您以帮助我了解更多的方式解释它:)
$('#leftmenu').click(function() {
$('#myform').submit();
});
$('#leftmenu a').on('click',function(e) {
// Prevents the default action of
// redirecting to the page specified.
e.preventDefault();
// Submit the form which will validate
$('#myform').submit();
});