asp.net - 使用 JavaScript 禁用 ASP.NET 3.5 应用程序中的提交按钮会破坏 BlackBerry 提交

标签 asp.net javascript blackberry postback blackberry-storm

以下代码用于在单击“提交”按钮后禁用该按钮。这在桌面浏览器和大多数 BlackBerry 移动浏览器上运行良好。

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

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

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

最佳答案

我相信你可以这样做 - 我已经很长时间没有这样做了,并且一些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));
    }

关于asp.net - 使用 JavaScript 禁用 ASP.NET 3.5 应用程序中的提交按钮会破坏 BlackBerry 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625951/

相关文章:

asp.net - Asp.net标记是否有#IF DEBUG?

javascript - 什么鼠标事件?

blackberry - 如何在 Blackberry 10 操作系统中执行 Blackberry OS 6 应用程序

user-interface - BlackBerry - 带有标签垂直滚动的主屏幕

asp.net - 以编程方式获取 IIS 服务器 URL

c# - ASP.NET MVC Core WebAPI 项目不返回 html

javascript - jQuery 事件绑定(bind)按值传递

javascript - JQuery 点击并输入 keyup,不同的类

json - 在黑莓操作系统 5.0 上启动标签 : Module 'net_rim_json_org' not found. 时出错(在操作系统 7 上运行正常)

c# - 如何将 Html.Password 帮助器的值传递给 Action