Почему мои кнопки javascript не перенаправляются так, как они должны? - PullRequest
1 голос
/ 29 июня 2011

Извините, что задаю такой простой вопрос с таким небольшим количеством информации, но я просто не могу понять это!

У меня есть страница ASP.NET, в которую я добавил несколько простых HTML-кнопок, которые должны переводить пользователя на разные страницы. Вот один пример:

<button onclick="location.href='Default.aspx';">Go Back</button>

Я ожидаю, что при нажатии эта кнопка перенаправит браузер в Default.aspx. Вместо этого он просто обновляет текущую страницу, сохраняя URL-адрес без изменений.

Кнопки находятся внутри тега ASP.NET ширины страницы. Кнопки не отправляют форму. Когда я просматриваю исходный код страницы в браузере, я не вижу ничего, что могло бы перехватить изменение местоположения (например, обработчик события onunload или что-то подобное). Других кадров нет. В этой странице вообще нет ничего примечательного.

Я пытался использовать location=, self.location=, window.location= и location.replace(). Ни один из них не работает при выполнении из обработчика onclick кнопки. Я пробовал в Firefox 5 и Chrome 10. Javascript работает , когда выполняется из адресной строки браузера следующим образом: javascript: location.href='Default.aspx'; void(0);.

Я использовал отладчик javascript в Firebug, чтобы попытаться отследить, что происходит, когда я нажимаю кнопку, и я не увидел ничего необычного. Я не вижу кода перехвата событий или других проблем. В консоли ошибок нет зарегистрированных ошибок.

Мне кажется, что я использовал скрипт, как и раньше, и он всегда работал просто отлично. Почему это не работает сейчас? Какой-то код, созданный ASP.NET, о котором я не знаю? onclick не работает изнутри <button>? Является ли это какой-то странностью безопасности JS, которую разделяют и Chrome, и Firefox?

Пожалуйста, помогите, это сводит меня с ума! Спасибо.

Ответы [ 3 ]

9 голосов
/ 29 июня 2011

Просто добавьте return false; следующим образом:

<button onclick="location.href='Default.aspx';return false;">Go Back</button>

, чтобы кнопка не отправляла форму себе.

3 голосов
/ 29 июня 2011

Попробуйте добавить return false в javascript onclick?

0 голосов
/ 29 июня 2011

Вам необходимо использовать document.location.href = "ваш URL";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...