2
<input type="text" onkeypress="if (event.keyCode==13){ func_name(this.value);}"    id="userinput"/>

我有一个文本字段,我在按 ENTER 键时调用了一个函数。问题是页面被重新加载,而它不应该这样,因为我只调用一个 js 函数。请告诉我我做错了什么。

4

2 回答 2

5

表单正在通过按 Enter 提交。您可以将onsubmit事件附加到表单,并返回 false 以阻止提交(并返回 true 以提交)。您可以使用此功能在提交之前验证数据,或拦截您的keypress事件。

或者,如下所述,您可以使用 event.preventDefault() 来防止按下回车触发提交。

像这样的东西...

<form action=".">
    <input type="text" onkeypress="console.log('happy days'); event.preventDefault()">
</form>
于 2012-10-08T12:03:57.670 回答
5

我知道这是一条旧消息,但我通过添加“return false”解决了它:

<input type="text" onkeypress="if (event.keyCode==13){ func_name(this.value);return false;}" id="userinput"/>

也许它对其他有类似问题的人有用。

于 2014-12-09T13:34:34.273 回答