Я пишу WWW-приложение, оно должно работать под IE. У меня проблема с кодом, который работает под FF, но я не могу запустить его под IE.
// JS код
function test()
{
if (window.event.keyCode == 13)
window.location.assign("myPage.php");
}
Я пробовал несколько похожих способов работы с window.location и location.href, а также document.location. Я читал, что IE имеет проблемы с этим, поэтому я прошу решение.
Цель состоит в том, чтобы страница перезагружалась после ввода некоторого текста в <input type='text' name='item_code' onKeyDown='test()'>
и нажатия клавиши ввода. Таким образом, результат аналогичен нажатию кнопки отправки типа под вводом текста.
В IE он перезагружает ту же страницу, и ничего не происходит. В ФФ это правильно работает.
ОБНОВЛЕНИЕ 1:
Пробное решение, данное Бобинсом.
<input type='text' name='item_code'>
<script type='text/javascript' >
document.getElementsByName('item_code')[0].onkeydown = function(event)
{
if (event == undefined) { event = window.event; }
if (event.keyCode == 13) { window.location = 'myPage.php'; }
alert('1');
}
</script>";
Проблема в том, что если есть строка alert('1');
, страница показывает предупреждение и перенаправления, если нет строки alert('1');
, страница просто перезагружается. Я не знаю, в чем здесь проблема?
ОБНОВЛЕНИЕ 2:
Я вставляю то, что, в конце концов, работает для меня.
<form action='mainPage.php' method='POST'>
<input type='text' name='item_code'>
</form>
<script type='text/javascript' >
document.getElementsByName('item_code')[0].onkeydown= function(event)
{
if (event == undefined)
{
event = window.event;
}
if (event.keyCode == 13)
{
var js_item_code = document.getElementsByName('item_code')[0].value;
window.location = 'myPage.php?item_code='+js_item_code;
return false;
}
};
</script>