这段时间做后台项目的时候(用的vue+element组件)发现一个问题,之前我在给表单加回车提交表单的时候用的是@keyup.enter.native事件绑定回车事件,是ok的,后面做到一个页面的时候,发现会提交两次表单,整个页面会刷新两次,没有达到预期的实现效果,后面断点调试的时候发现会一次进入mounted里面,一次会进入我回车事件指定的方法里面。后来发现原来是这样:
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。
然后看下自己的代码确实只有一个输入框(之前都是两个及以上输入框一直没发现这个问题),后续加了下这个@submit.native.prevent恢复正常。
代码:
Element组件from表单回车提交表单问题
最新推荐文章于 2024-02-21 11:05:53 发布