2

我需要使用按钮单击事件禁用锚标记。我根据我的要求处理了服务器端和客户端事件。我修改了客户端点击事件中的“href”属性,如下所示。

[ASPX]

 <asp:Button ID="Button1" runat="server" Text="Disable" OnClick="disable"  CausesValidation="false" OnClientClick="disable();"  />

[脚本]

     function disable() {
        $('a.ClassName').attr("href", "#")
    }

它被正确设置。但是在服务器端处理之后,锚标记再次设置为旧的 href 属性。如何解决这个问题?

4

2 回答 2

2

当您回发到服务器时,会呈现一个新页面。

您通过 javascript 所做的任何更改都将丢失。

您应该在服务器端检测条件(较早按下按钮)并对 url 服务器端进行必要的更改。

您可以将此状态更改存储在隐藏输入中并在服务器端获取。

于 2013-01-23T09:37:21.783 回答
0

您必须在页面加载后立即禁用链接,

preventDefault();

所以尝试做这样的事情,

function disable_link(event) {

    event.preventDefault();
    return false;
}

而是将其绑定到您想要的特定元素

于 2013-01-23T09:41:46.673 回答