表单只有一项 input 时按回车键会提交表单

Posted wenruo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表单只有一项 input 时按回车键会提交表单相关的知识,希望对你有一定的参考价值。

在 Vue 中 使用 Element UI,使用表单  el-form 只有一个  el-input  项,使用  @keyup.enter.native 来处理回车事件。

 

结果发现按下回车时页面总会被刷新??

 

第一反应查询关键字 vue、 element、 el-form ……

 

结果发现是 html 的已知 bug(feature)……

https://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2

技术图片

 

 

好吧 那怎么解决呢

 

1. 加一个表单项 不显示就可以了。使用  <input type="hidden"> 是不行的 要用  <input type="text" style="display:none"> 

2. 阻止 submit 事件刷新页面  <form method="post" onsubmit="return false;"> 

在 Vue 中 <form v-on:submit.prevent="onSubmit"></form> 

在 Element 中  <el-form @submit.native.prevent></el-form> 

 

以上是关于表单只有一项 input 时按回车键会提交表单的主要内容,如果未能解决你的问题,请参考以下文章

遇到的一个Form表单自动提交问题解决办法

按下回车默认提交form表单问题

JS采坑记录 - form表单中只有一个input时,按回车键后表单自动提交

form表单提交注意事项

form表单回车提交问题

表单提交:button input submit 的区别