我很困惑为什么这个返回false不会取消后退。
function validate() {
return false;
}
<asp:Button ID="Button1" type="submit" OnClientClick="validate();" runat="server" Text="send" />
最疯狂的部分是下面的代码取消了回发,但我需要在上面的函数中发生这个:
<asp:Button ID="Button1" type="submit" OnClientClick="return false;" runat="server" Text="send" style="margin-right:150px;" />
答案 0 :(得分:5)
尝试从函数中返回值,例如
<asp:Button ID="Button1" type="submit" OnClientClick="return validate();" runat="server" Text="send" />
否则你只是执行一个返回布尔值的javascript函数。
答案 1 :(得分:1)
尝试使用此
<input type"button" id="Button1" onclick="validate();">
如果您不需要回发,那么您不需要asp:Button
答案 2 :(得分:0)
对于那些在Button
内使用UpdatePanel
进行AJAX PostBack的人来说, Jonas Persson 的答案还有一点:当Button
被渲染时,onclick属性看起来像
<input ... onclick="OnClientClick_property; generated_ajax_postback();" />
要确保generated_ajax_postback();
已执行,您必须OnClientClick_property
这样做:if (!validate) return false;
否则它将返回true
,并且根本不回发。