Javascript не работает в браузерах Google Chrome и смартфонов - PullRequest
1 голос
/ 08 марта 2012

Я работаю над веб-приложением ASP.NET/C# У меня есть флажок. и я хочу, чтобы этот флажок имитировал нажатие кнопки, когда установлен / снят флажок

Я использовал 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 и смартфонах.

Что я могу сделать, чтобы мой веб-сайт был полностью совместим со всеми браузерами?

Большое спасибо за любую помощь

Ответы [ 4 ]

0 голосов
/ 08 марта 2012

Редактировать: Да, это было первое.Chrome задыхался от ссылки Link и не рендерил ее, как ожидалось.

Я собирался спросить.Этот идентификатор совпадает с атрибутом идентификатора HTML?Как asp "LinkButton" отображается в виде HTML?

Редактировать: я оставлю здесь все остальное, если это будет полезно для всех, у кого возникли проблемы с махинациями asp.net.ваш HTML.То, что вы делаете, не особенно сумасшедшее.Причиной может быть поломка HTML.

Также попробуйте просто запустить эту функцию один раз с помощью других средств в Chrome.

Одна вещь, которая может быть полезной.Уберите свой JavaScript со страницы и поместите его в связанный файл.НЕ позволяйте никаким продуктам Microsoft рассказывать вам что-либо о том, как сделать js проще, сделав это по-своему.Лучшим, что они когда-либо делали, был .net MVC, который просто убрал тебя с пути.

edit: Подождите.Вы используете веб-формы?Это может быть вашей проблемой.В этом случае вам, возможно, придется включить фокус, а затем нажать на глупую вещь.Некоторые инженеры MS защищают от людей, которые находят легкий путь к цепочке вокруг своего дурачества.Я прошел через множество ужасных JS, чтобы выяснить это некоторое время назад.

0 голосов
/ 08 марта 2012

Полностью совместим со всеми браузерами? Краткий ответ? No fancy stuff.

Немного более длинный ответ - просто сделать то, что разрешено стандартами, установленными w3c, и надеяться, что все браузеры совместимы. Они никогда не будут на 100%.

0 голосов
/ 08 марта 2012

Если вы можете использовать jQuery, я бы порекомендовал вам использовать метод trigger

РЕДАКТИРОВАТЬ : как указал Косте, вы можете также использовать ClientID вместо фактического идентификатора.

0 голосов
/ 08 марта 2012

Возможно, вам нужен Button1 ClientID?

document.getElementById('<%= Button1.ClientID %>').click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...