Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2014, 14:16
Новичок на форуме
Отправить личное сообщение для fError Посмотреть профиль Найти все сообщения от fError
 
Регистрация: 19.07.2013
Сообщений: 9

Не работает 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 отрабатывает и там и там нормально

Последний раз редактировалось fError, 16.08.2014 в 14:18.
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2014, 16:18
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Проверь, не перезаписалась ли где переменная location.
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2014, 16:55
Аватар для igrok54
Новичок на форуме
Отправить личное сообщение для igrok54 Посмотреть профиль Найти все сообщения от igrok54
 
Регистрация: 24.02.2012
Сообщений: 3

лучше так:
function goGoogle(){
   window.location.href='http://www.google.ru';
}
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2014, 14:40
Новичок на форуме
Отправить личное сообщение для fError Посмотреть профиль Найти все сообщения от fError
 
Регистрация: 19.07.2013
Сообщений: 9

Да кроме этих двух кнопок ничего и нет. Нечего там поверять. Бредота какая то =)
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2014, 14:47
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

<button onclick="goGoogle(); return false"> Button1</button>


Странно, вообще у меня и то и то работает

Последний раз редактировалось tsigel, 20.08.2014 в 14:53.
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2014, 14:55
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

у меня все работает:
<!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);
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2014, 14:57
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

skrudjmakdak,
А у меня ваш пример сыпит ошибку "Refused to display 'https://www.google.ru/?gws_rd=ssl' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'."
Ответить с цитированием
  #8 (permalink)  
Старый 20.08.2014, 15:05
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

видимо из за фрейма. запустите в отдельном файле, должно быть ок
Ответить с цитированием
  #9 (permalink)  
Старый 21.08.2014, 00:49
Новичок на форуме
Отправить личное сообщение для fError Посмотреть профиль Найти все сообщения от fError
 
Регистрация: 19.07.2013
Сообщений: 9

Короче разобрался в чём проблема. Всё оказалось просто, но всё равно не очень понятно. Если тег <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>

Последний раз редактировалось fError, 21.08.2014 в 00:53.
Ответить с цитированием
  #10 (permalink)  
Старый 21.08.2014, 08:19
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

хм, действительно так, но если посм на вот такой код:
<!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

Последний раз редактировалось skrudjmakdak, 21.08.2014 в 08:21.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает функция в атрибуте onclick? Dimaz Events/DOM/Window 7 23.07.2014 20:52
OnClick не всегда работает denisko96 Events/DOM/Window 2 30.12.2013 20:02
onClick на button при нажатии Enter atech Events/DOM/Window 2 09.08.2012 16:48
Не работает onClick добавление тега <s> AvaGet Общие вопросы Javascript 13 09.12.2008 18:41
DatePicker не работает при сипользование innerHTML AJlekceu jQuery 2 26.10.2008 17:49