Javascript JQuery验证失败后页面仍回发

Javascript JQuery验证失败后页面仍回发,javascript,c#,jquery,asp.net,validation,Javascript,C#,Jquery,Asp.net,Validation,我有一个ASP.NETWeb表单页面,我在该页面上应用了JQuery验证。问题是,当验证失败时,页面仍然回发。我有两个文本框,其中必需:true验证。 这是我的提交按钮代码: <button id="btnSubmit" class="btn btn-info" type="button" onserverclick="btnSubmit_Click" onclick="checkValidate(event);" causesvalidation="true" runat="serve

我有一个ASP.NETWeb表单页面,我在该页面上应用了JQuery验证。问题是,当验证失败时,页面仍然回发。我有两个文本框,其中
必需:true
验证。 这是我的提交按钮代码:

<button id="btnSubmit" class="btn btn-info" type="button" onserverclick="btnSubmit_Click" onclick="checkValidate(event);" causesvalidation="true" 
runat="server"> 
<i class="icon-ok bigger-110"></i>Submit 
</button>
这是“我的按钮”的呈现HTML:

<button onclick="checkValidate(event); __doPostBack('ctl00$ContentPlaceHolder1$btnSubmit','')" id="ContentPlaceHolder1_btnSubmit" class="btn btn-info" type="button"> 
<i class="icon-ok bigger-110"></i>Submit 
</button>

提交
另外,我将调试器放在checkValidate()方法中,发现那里一切正常,但在方法结束后,页面会回发。我在浏览器的控制台上运行了JQuery valid()方法,它也运行良好,返回了正确的值
当文本框为空时: 填充文本框时:

问题到底出在哪里?验证失败时,如何停止页面回发?

使用

onclick=“返回checkValidate(事件);”

您可以这样做:

onclick="if (checkValidate(event)) {YOURMETHODTOEXECUTE_ON_SUCCESS()}"
显然,您需要对代码进行一点重构,但它应该是这样工作的

根据注释,在这种情况下,您可以使用:

onclick=“return!!yourFunction()”


无需更改您的OnServer Click=“”

我终于完成了。我刚刚在表单上添加了onsubmit属性,并在其中设置了jquery有效方法
这是我以前的表单代码

<form class="form-horizontal" id="validationForm" method="post" runat="server">

这是在我改变它之后

<form class="form-horizontal" id="validationForm" onsubmit="return $('#validationForm').valid()" method="post" runat="server">


我想我仍然不知道为什么它会触发回发,即使验证返回false,默认情况下也会阻止单击按钮提交,如果验证成功,则使用submit()函数。我的按钮类型是
type=“button”
,而不是
type=“submit”
。此外,我还编写了
evt.preventDefault()
evt.stopPropagation()当验证返回false时。这应该让button停止提交,但事实并非如此:/@madalinivascuYou尚未显示表单的来源,尽管这个问题可能有助于我完成此操作,但现在页面根本没有提交。。即使验证返回true:/我想在成功时执行的方法是服务器端的按钮单击方法,我已经提到过,它是
onserverclick=“btnSubmit\u Click”
,所以我不能在客户端的单击事件
onclick=“return!!yourFunction()”
中写入它?JQuery验证函数还是我的服务器端函数@天哪,这应该是你的验证功能
<form class="form-horizontal" id="validationForm" method="post" runat="server">
<form class="form-horizontal" id="validationForm" onsubmit="return $('#validationForm').valid()" method="post" runat="server">