我正在开发 ASP.NET/C# Web 应用程序 我有一个复选框。我希望该复选框在选中/取消选中时模拟按钮单击
我使用 JavaScript 来做到这一点
<input id="filtercheck" runat="server" type="checkbox" value="Filter" onclick="document.getElementById('Button1').click();"/>
Button1是一个普通按钮
<asp:LinkButton ID="Button1" runat="server" OnClick="Button1_Click"/>
因此,当我单击复选框时,就像单击 Button1 一样。
在 Firefox 和 Internet Explorer 上一切正常。但这不适用于 Google Chrome 和智能手机浏览器
如何解决这个问题?
此外,还有一些其他 javascript 和 Jquery 脚本可以在 Internet Explorer 和 Firefox 上运行,但不能在 Google Chrome 和智能手机浏览器上运行。
我该如何确保我的网站在所有浏览器上完全兼容?
非常感谢您的帮助
最佳答案
编辑:是的,这是第一件事。 Chrome 在 linkButton 上卡住了,没有按预期渲染它。
我正想问呢。该 ID 与 HTML id 属性相同吗? asp“LinkButton”如何呈现为 HTML?
编辑:我将把剩下的部分留在这里,以防它对其他遇到 asp.net 恶作剧问题的人有帮助。
您是否已验证您的 HTML。你所做的事情并不是特别疯狂。 HTML 损坏可能是原因。
此外,尝试在 Chrome 中通过其他方式仅触发该函数一次。
有一件事很有帮助。将 JavaScript 从页面中取出并将其放入链接文件中。不要让任何 Microsoft 产品告诉您任何有关通过按照他们的方式使 js 变得更容易的事情。他们做过的最好的事情是 .net MVC,它让你摆脱了困境。
编辑:等等。您使用网络表单吗?那可能是你的问题。在这种情况下,你可能必须聚焦,然后点击那个愚蠢的东西。一些 MS 工程师会防止人们找到一种简单的方法来围绕他们的愚蠢行为进行菊花链。不久前,我费力地阅读了很多可怕的 JS 来解决这个问题。
关于JavaScript 无法在谷歌浏览器和智能手机浏览器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619675/