Не работает location.href при onclick в теге <button>
function goGoogle(){ location.href='http://www.google.ru' } <input type="button" value="Button1" onclick="goGoogle()">- переходит на гугль <button onclick="goGoogle()"> Button1</button>- никакой реакции alert\console.log отрабатывает и там и там нормально:help: |
Проверь, не перезаписалась ли где переменная location.
|
лучше так:
function goGoogle(){ window.location.href='http://www.google.ru'; } |
Да кроме этих двух кнопок ничего и нет. Нечего там поверять. Бредота какая то =)
|
<button onclick="goGoogle(); return false"> Button1</button> Странно, вообще у меня и то и то работает :) |
у меня все работает:
<!DOCTYPE html> <html> <head> </head> <body> <script type="text/javascript"> function goGoogle(){ location.href='http://www.google.ru' } </script> <input type="button" value="Button1" onclick="goGoogle()"> <input type="button" value="Button1" onclick="goGoogle()"> </body> </html> попробуй в функции поставь console.log(location); |
skrudjmakdak,
А у меня ваш пример сыпит ошибку "Refused to display 'https://www.google.ru/?gws_rd=ssl' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'." |
видимо из за фрейма. запустите в отдельном файле, должно быть ок
|
Короче разобрался в чём проблема. Всё оказалось просто, но всё равно не очень понятно. Если тег <button> находится вне формы, всё работает как надо. Как только обрамляешь его <form></form> - с локейшном всё плохо, алерты работают)) С инпутом такого нет. Почему??? Кто-нибудь может объяснить?
Так не работает. Уберёте form - заработает. <!DOCTYPE html> <html> <head> <title>goGoogle</title> </head> <body> <script> function goGoogle(){ window.location.href = "http://www.google.ru"; alert("Click!!!"); } </script> <form> <button onclick="goGoogle()">goGoogle tag-button</button> <input onclick="goGoogle()" type="button" value="goGoogle input-button"> </form> </body> </html> |
хм, действительно так, но если посм на вот такой код:
<!DOCTYPE html> <html> <head> <title>goGoogle</title> </head> <body onload="console.log(new Date());"> <form> <button>goGoogle tag-button</button> </form> </body> </html> то можно усмотреть, что страница передергивается при нажатии на кнопку. п.с. запускать у себя, здесь не хотит поэтому надо прописывать так: <button type="button">goGoogle tag-button</button>, видимо по дефаулту идет submit |
Цитата:
|
Как правильно писал выше tsigel нужно добавить return false;
<button onclick="goGoogle(); return false;"> Button1</button> работает в хроме |
Правильно не использовать button для чего попало внутри формы.
|
Часовой пояс GMT +3, время: 01:45. |