1

我很困惑为什么这个 return 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;" />
4

3 回答 3

5

尝试从你的函数返回值,像这样

<asp:Button ID="Button1" type="submit" OnClientClick="return validate();" runat="server" Text="send"  />

否则,您只是在执行一个返回布尔值的 javascript 函数。

于 2012-06-21T01:38:32.930 回答
1

尝试使用这个

  <input type"button" id="Button1" onclick="validate();">

如果您不需要回发,则不需要 asp:Button

于 2012-06-21T01:37:25.543 回答
0

对于那些在AJAX PostBack中使用其内部的人来说,Jonas Persson的答案有一点额外:当 a被渲染时,onclick 属性看起来像ButtonUpdatePanelButton

<input ...  onclick="OnClientClick_property; generated_ajax_postback();" />

为确保generated_ajax_postback();执行,您必须执行OnClientClick_property以下操作:if (!validate) return false;

否则它将返回true,并且根本不回发。

于 2013-06-28T06:18:43.123 回答