Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает window.location (https://javascript.ru/forum/events/56487-ne-rabotaet-window-location.html)

vpage 18.06.2015 14:19

Не работает window.location
 
Вот пример кода:

<script language="JavaScript">

function selectChange() {
   alert("Переход");
window.location = "http://javascript.ru"
}
</script>
</head>
<body>

<form>
<input type="text" name="search1" onchange = "selectChange()"><br/>
</form>
<form>
	<select size="1" onchange = "selectChange()">
	<option value="1">проба</option>
	<option value="2">проверка</option>
	</select>
</form>


При выборе элемента из списка отрабатывается alert, и идет переход на http://javascript.ru. При вводе текста и нажатии enter отрабатывается alert, перехода на другую страницу нет. Может кто подскажет почему и как это исправить. При использовании document.location.href ситуации аналогичная.

рони 18.06.2015 14:28

vpage,
чтобы сработало по input onchange -- нужно изменить значение и перевести фокус в другое место, а enter у вас просто сработает форма -- в которой неуказано куда переходить -- поэтому она просто перезагрузит страницу саму на себя.

ruslan_mart 21.06.2015 11:16

Правильней писать так:

window.location.href = 'http://javascript.ru';

Или

document.location.href = 'http://javascript.ru';

Но тут проблема в другом, как описал рони выше.

P.S.: а не проще ли просто задать форме action?

<form action="http://javascript.ru">
    <input type="text" name="search1">
	<select size="1" onchange="form.submit()">
	    <option value="1">проба</option>
	    <option value="2">проверка</option>
	</select>
</form>


Часовой пояс GMT +3, время: 14:33.