提示当前页面正在提交,submit执行了两次

button标签的type熟悉默认为submit,即使不写type属性也是这样,绑定onclick事件执行submit提交表单会提示当前页面正在提交。把type属性值改为button即可。

### ElementUI 表单提交时的验证实现 在ElementUI中,表单组件提供了内置的方法来执行完整的表单验证或仅针对特定字段进行验证。对于整个表单的有效性检查,在用户尝试提交数据之前调用`this.$refs.formName.validate()`函数可以触发所有定义好的规则[^1]。 当需要验证多个字段而不是全部时,可利用`validateField`方法并传入想要单独检验的一个或几个属性名称作为参数。此操作允许开发者灵活控制哪些部分的数据应当被即时校验而不必等待最终确认动作的发生。 为了展示具体的实践方式,下面给出一段简单的Vue.js代码片段用于创建带有基本输入框以及相应约束条件(如不能为空)的HTML页面,并展示了如何处理成功与失败两种情形下的逻辑分支: ```html <template> <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm"> <!-- 用户名 --> <el-form-item label="用户名" prop="username"> <el-input v-model="ruleForm.username"></el-input> </el-form-item> <!-- 密码 --> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="ruleForm.password" autocomplete="off"></el-input> </el-form-item> <!-- 提交按钮 --> <el-button @click.prevent="submitForm('ruleForm')">立即创建</el-button> </el-form> </template> <script> export default { data() { return { ruleForm: { username: '', password: '' }, rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ], password: [ { required: true, message: '请输入密码', trigger: 'change' } ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); } } }; </script> ``` 上述例子中的`submitForm`函数会在点击“立即创建”的时候被执行,它接收一个字符串类型的形参代表要验证的目标表单项的名字。通过访问当前实例上的`$refs`对象获取到对应的DOM节点之后再调用其上挂载着的`validate`回调来进行实际的工作流程判断——即要么继续后续业务过程;要么提示错误信息给前端使用者知道哪里出了错以便改正后再试一次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值