2012-03-08 181 views
1

我正在使用ASP.NET/C#Web应用程序 我有一个复选框。我想检查时复选框来模拟一个按钮,点击/选中Javascript不适用于谷歌Chrome浏览器和智能手机浏览器

我用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。但这不适用于谷歌浏览器和智能手机浏览器

我该如何解决这个问题?

此外还有一些其他的JavaScript和JQuery脚本正在使用Internet Explorer和Firefox,但不支持谷歌浏览器和智能手机浏览器。

我该怎么做才能确保我的网站在所有浏览器上完全兼容?

非常感谢您的帮助

+0

jQuery在跨浏览器兼容性方面非常出色。使用jQuery来连接事件处理程序,您可能会获得更好的结果。 – jrummell 2012-03-08 15:09:12

回答

0

编辑:是的,这是这第一件事情。 Chrome在linkBut​​ton上窒息而未按预期呈现。

我要问。该ID是否与HTML id属性相同? asp“LinkBut​​ton”如何呈现为HTML?

编辑:我会在这里留下的情况下,以防其他人对asp.net shenanigans有麻烦的人有帮助。

你有你的验证HTML。你在做什么并不特别疯狂。 HTML破损可能是原因。

此外,尝试通过Chrome中的其他方式一次性启用该功能。

一两件事是有帮助的,虽然。从页面中取出JavaScript并将其放入链接文件中。不要让任何微软产品告诉你任何关于通过按照他们的方式让js更容易的事情。他们做过的最好的事情就是.net MVC,它会让你无所适从。

编辑:等待。你在使用webforms吗?这可能是你的问题。在这种情况下,你可能不得不开火,然后点击那个愚蠢的东西。一些MS工程师会阻止人们找到一种简单的方式在他们的周围进行菊花链式连接。我通过了很多可怕的JS来找出那一段时间。

+0

你的第一个问题给了我答案。显然,在谷歌浏览器中呈现asp“LinkBut​​ton”时出现错误。我改变了“LinkBut​​ton”为一个简单的“按钮”,它的工作。谢谢。 (将此信息添加到您的答案,我将接受它作为答案) – Youssef 2012-03-08 15:59:40

0

也许你需要Button1的客户端ID?

document.getElementById('<%= Button1.ClientID %>').click() 
0

完全兼容所有浏览器?简短的答案? No fancy stuff.

稍微长一点的答案就是做w3c规定的标准所允许的,并且希望所有的浏览器都符合标准。他们永远不会100%。

0

如果你可以使用jQuery,我建议您使用trigger方法

编辑:作为Koste指出的那样,你也可能需要使用ClientID的,而不是实际的ID。

相关问题