【发布时间】:2021-07-27 19:02:58
【问题描述】:
我总是在 Vue.js 中尝试 $event,但它从来没有为我工作过。
这是我的注册表单 html 脚本:
<form @submit.prevent="RegisterUser($event)" name="register-form" novalidate>
<div class="accordion" role="tablist">
<AccountCredentials />
</div>
</form>
我的注册功能:
async RegisterUser(e) {
console.log('event', e.keyCode); // got undefined
if (e.keyCode !== 13) { // I wanna execute this code while it's not enter key
if (this.v_isAllRegisterStepsValid() === true) {
// REGISTER USER IF FORM IS VALID
await store.dispatch('auth/UserRegister');
if (this.is_user_registered === false) {
this.mx_setModalOptions('Register Failed', this.register_msg, true); // show modal
}
}
else { // SHOW ERROR MESSAGE IF FORM IS NOT VALID
this.v_showStepsValidationError();
} // end else
}
},
当我点击 Enter 按钮时,我的表单提交。
e.keyCode got undefined 如何防止使用 Enter 按钮提交?
【问题讨论】:
-
只需使用
e.preventDefault()来防止默认行为 -
@SAM 这就是
.prevent=修饰符的作用 -
e.preventDefault()不妨碍函数的工作 -
e.keyCode已弃用,请尝试e.key -
this.v_isAllRegisterStepsValid())--> 语法错误?
标签: javascript html vue.js