1

以下代码用于在单击提交按钮后禁用它。这适用于桌面浏览器和大多数黑莓手机浏览器。

Submit.Attributes.Add("onclick", "javascript:this.disabled=true;" +
    ClientScript.GetPostBackEventReference(Submit, null));

不幸的是,当使用 BlackBerry Storm 单击提交按钮时,设备只会重新加载页面。如果我删除此代码,Storm 浏览器会很好地提交页面。当浏览器能够这样做但不想影响不支持 JavaScript 的浏览器时,我需要禁用该按钮。

我意识到我可以添加 jQuery 框架并仅附加事件客户端,但我正在尝试寻找最简单的修复(阅读最少侵入性),因为这是一个遗留应用程序。有什么建议么?

4

1 回答 1

1

我相信你可以这样做——我已经很久没有这样做了,一些HttpCapabilities API 已被标记为过时,但通常你可以通过这样做来检测浏览器是否支持 javascript:

    var myBrowserCaps = Request.Browser;
    if (((HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major > 1)
    {
        // Browser supports javascript
        Submit.Attributes.Add("onclick", "javascript:this.disabled=true;" +
                    ClientScript.GetPostBackEventReference(Submit, null));
    }
于 2010-04-12T22:52:35.823 回答