【问题标题】:OnClientClick causes webpage refreshOnClientClick 导致网页刷新
【发布时间】:2016-03-17 09:34:37
【问题描述】:

我在网页上有一个 ASP.NET 按钮:

<asp:Button ID="TickButton" runat="server" OnClientClick="SelectSome()"  Text="Tick" />

和一个 JavaScript 函数:

 function SelectSome() {
        var id = document.getElementById("ctl00_ContentPlaceHolder1_txtSelectSome").value;
        if (isNaN(id)==false)
        {
            var frm = document.forms[0], j = 0;
            for (i = 0; i < frm.elements.length; i++) {
                if (frm.elements[i].type == "checkbox" && j < id) {
                    frm.elements[i].checked = true;
                    j++;
                }
            }
        }
        else
        {
            alert("You must enter a number.")
        }
        return false;
    }  

当我点击按钮时; JavaScript 函数运行,然后网页刷新。为什么网页会刷新?根据此链接;返回 FALSE 应该会阻止网页刷新:Stop page reload of an ASP.NET button

【问题讨论】:

  • 在引用的帖子中,OnClientClick 有返回,但在您的帖子中没有,因此将停止回发。也使用 ClientID 而不是硬编码 clientID,document.getElementById("")

标签: javascript asp.net


【解决方案1】:

使用return 进行客户端点击。

<asp:Button ID="TickButton" runat="server" OnClientClick="return SelectSome()"  Text="Tick" />

或 你可以简单地使用服务器端编码的html按钮然后不需要。

<asp:Button Text="Tick" runat="server" OnClientClick="return SelectSome()" />

【讨论】:

  • 谢谢。如果允许,我会将其标记为已回答。
猜你喜欢
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 2013-07-21
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多