当你在网页中的输入框内按下回车键时,浏览器会触发一个默认行为,这是因为输入框通常位于一个 <form>
表单中。当表单中的输入框接收到回车键时,浏览器会尝试提交该表单,从而导致页面刷新或导航到新的 URL。
为什么会发生这种情况?
- 表单提交的默认行为:
-
<form>
标签定义了一个表单区域,表单通常用于收集用户输入并将其发送到服务器。- 当用户在表单内的输入框中按下回车键时,浏览器会触发表单的提交事件(即
submit
事件)。 - 默认情况下,表单提交会导致页面重新加载或导航到新的 URL,具体取决于表单的
action
属性和请求方法(如GET
或POST
)。
- HTML 表单的工作原理:
-
<form>
标签通常包含一个或多个输入字段(如<input>
、<textarea>
等)和一个提交按钮(如<button type="submit">
)。- 当用户点击提交按钮或在输入框中按下回车键时,表单会被提交。
- 提交表单时,浏览器会发送一个 HTTP 请求到指定的 URL(由
action
属性指定),并根据method
属性(默认为GET
)使用相应的 HTTP 方法。
解决方案
在 form 表单上增加@submit.native.prevent 阻止表单提交的默认事件
<el-form @submit.native.prevent ><el-form-item><el-input placeholder="输入..." v-model="num" ></el-input></el-form-item><el-form-item><el-button @click="handleCancel()">取消</el-button><el-button type="primary" @click="handleSubmit">确定</el-button></el-form-item>
</el-form>