【发布时间】:2011-02-04 09:25:35
【问题描述】:
我正在编写一个 WWW 应用程序,它必须在 IE 下运行。我在 Firefox 下运行的代码有问题,但我无法让它在 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()'> 中输入一些文本并单击enter 后,该页面会重新加载。所以结果类似于在文本输入下方按下提交类型按钮。
在 IE 中它会重新加载相同的页面,但没有任何反应。在 Firefox 中它可以正常工作。
更新 1:
bobince 给出的尝试解决方案。
<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>
【问题讨论】:
-
window.location.href = "myPage.php";怎么样 -
window.location.href没有assign方法(window.location有)。但是,我认为这不是您的问题,因为在 Firefox 中也是如此(并且会引发错误)。您的代码中还有其他一些错别字(我已修复,但您在 :-) 中重新编辑了它们) -
哦,不知道,如果可以,请再次编辑,感谢您的意见
标签: javascript html dom-events dhtml