尝试防止在旧版本的 Internet Explorer 中按输入类型文本时按回车键重新加载页面

Try to prevent reload page when hit enter in input type text in old version of Internet Explorer

提问人:nelvanb 提问时间:10/18/2019 更新时间:10/18/2019 访问量:87

问:

需要你帮助的朋友

我做了一个功能,在旧版本的Internet Explorer中按输入类型文本时,可以防止重新加载页面。它在新版本的 Internet Explorer 中工作,但在旧版本(低于 8)中,此代码不起作用。我使用此浏览器对此进行编程,因为我此页面将显示在安装了旧版本 Internet Explorer 浏览器的条形码扫描仪机器(便携式控制台)中。

这是 HTML 和 Javascript 的代码:

<td align='left'><input type='text' size='15' name='packing_to_id' id='packing_to_id' size='10' value='' onkeypress="return InputKeyPress(event)"></td>

<script type="text/javascript">
function InputKeyPress(e){

  e=e||window.event;
  var key = e.keyCode;
  if(key==13) 
  {

     return false; 
  }
}
</script>
javascript 互联网浏览器 8

评论

0赞 Zhi Lv 10/18/2019
无法在我的机器上重现该问题。我已经用您的代码创建了一个示例,在文本框中输入值并单击“Enter”按钮后,它不会刷新页面(重新加载页面)。请检查您的代码,是否有任何其他代码会重新加载页面,例如文本框更改事件?
0赞 nelvanb 10/18/2019
您是否使用旧版本的 Internet Explorer,该错误可以使用旧的 Internet Explorer 重现?但是问题已经解决了,我把<form onsubmit=“return false;”>,它起作用了
0赞 Zhi Lv 10/18/2019
是的,我也使用旧版本的 Internet Explorer 对其进行了测试。很高兴听到你已经解决了这个问题,恭喜你。

答:

0赞 Vincent Dante 10/18/2019 #1

使用 event.returnValue = false;

示例代码:

<script type="text/javascript">
function InputKeyPress(e){

  e=e||window.event;
  var key = e.keyCode;
  if(key==13) 
  {
     e.returnValue = false;
     return false; 
  }
}
</script>

评论

0赞 nelvanb 10/18/2019
还是行不通。你还有其他建议吗?
0赞 nelvanb 10/18/2019
仍然不起作用仍然重新加载页面不知道为什么
0赞 nelvanb 10/18/2019
这对我有用,我以元素形式添加这个: <form onsubmit=“return false;”>