Vue 在按下回车键和使用验证观察器时阻止表单提交

Posted

技术标签:

【中文标题】Vue 在按下回车键和使用验证观察器时阻止表单提交【英文标题】:Vue prevent form submit when pressing enter and using validation-observer 【发布时间】:2022-01-11 21:50:42 【问题描述】:

我有以下代码:

<validation-observer v-slot=" handleSubmit " ref="formValidator">
  <form @submit.prevent>
    <!-- inputs -->
    <button type="submit" @click="handleSubmit(submit)">Save</button>
  </form>
</validation-observer>

我希望@submit.prevent 在表单输入中按下 Enter 键时阻止提交表单,但事实并非如此。

如何防止表单被提交(全局用于所有输入)并在提交前触发验证。

【问题讨论】:

【参考方案1】:

您可以在表单中添加@keydown.enter="$event.preventDefault()"

  <validation-observer v-slot=" handleSubmit " ref="formValidator">
    <form @submit.prevent  @keydown.enter="$event.preventDefault()">
      <!-- input -->
      <button type="submit" @click="handleSubmit(upsert)">Save</button>
    </form>
  </validation-observer>

【讨论】:

以上是关于Vue 在按下回车键和使用验证观察器时阻止表单提交的主要内容,如果未能解决你的问题,请参考以下文章

HTML: JavaScript: 阻止表单提交和调用 Javascript 函数

vue + element ui 阻止表单输入框回车刷新页面

使用保存和取消选项编辑表单

element-ui表单提交

Vue常用修饰符

在 Bootstrap 模式窗口中单击 Enter 并点击提交按钮时提交表单数据