当所有字段都被填写后,启用提交按钮

Posted wisewrong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当所有字段都被填写后,启用提交按钮相关的知识,希望对你有一定的参考价值。

问题描述:

Vue 项目中,表单的提交按钮默认为禁用状态,当所有字段都填写之后,启用提交按钮

部分表单可以允许某些字段为空

 

分析原因:

可以通过 for-in 语句校验 formdata,然后用 v-bind 给 disabled 属性绑定校验函数

但校验函数不能写在第三方 js 中,而应该绑定在 Vue 的原型链上,不然无法在 template 部分使用

 

解决方案:

/**
 * 判断一个对象是否所有属性都有值
 * @param {Object} form 目标对象
 * @param {Array} except 排除该数组中的属性名
 * @returns {Boolean}
 */

Vue.prototype.$isFormReady = function (form, except) {
    for (let i in form) {
        if (except && except.indexOf(i) !== -1) continue
        if (!form[i]) return true
    }
    return false
}
<button @click="handleClick"
        :disabled="$isFormReady(formData, [‘remark‘])">
</button>

 

以上是关于当所有字段都被填写后,启用提交按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 启用表单的提交按钮?

当所有文本字段都填写在uitableviewcell(SWIFT)中时如何启用按钮

当所有输入字段在 Hyperscript 中都有效时启用提交按钮?

jquery验证检查3个复选框的状态都被选中然后启用按钮

如何根据复选框状态禁用/启用提交按钮?

用户在 Swift 中提交所有文本字段后如何启用按钮