关于输入框按回车自动刷新页面的4个解决方案

本文探讨了el-input绑定@keypress.enter.native后首次回车刷新页面的现象,并提供了四种解决方案,包括移除form表单、增加隐藏输入框、阻止默认提交行为等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象:el-input在绑定@keypress.enter.native后,第一次回车时会刷新页面,后面在回车就不会了。
原因:

W3C 标准中有如下规定: When there is only one single-line text input field in a
form, the user agent should accept Enter in that field as a request to
submit the form. 即:当一个 form
元素中只有一个输入框时,在该输入框中按下回车应提交该表单。如果希望阻止这一默认行为,可以在 标签上添加
@submit.native.prevent。

解决方案

1、直接去除掉form表单,当然这是最简单粗暴的方法。

2、如果一个input会自动提交,那么比较容易想到的是再加一个input。值得注意的是 这里的input不能设置type为hidden,这样一样是不生效的,form一样会认为只有一个input。需要设置成 <input type="text" class="form-control" style="display:none"> 。

3、给input加上回车事件直接return false。在input加上οnkeydοwn="if(event.keyCode==13){return false;} 。

4、直接阻止form表单的提交,在form表单加入οnsubmit="return false;"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值