【问题标题】:How to prevent Boostrapvalidator from disabling all buttons on a form?如何防止 Boostrapvalidator 禁用表单上的所有按钮?
【发布时间】:2015-09-25 20:43:59
【问题描述】:

我正在使用来自 nghuuphuoc 的 boostrapvalidator,我遇到了这种情况,当验证被触发时,我的所有按钮都被禁用。这对我来说是个问题,因为我希望从验证中跳过特定按钮。有没有使用验证器来做这件事?

谢谢!

【问题讨论】:

标签: jquery twitter-bootstrap bootstrapvalidator


【解决方案1】:

我遇到了同样的问题,如果表单有无效的字段,我想让两个按钮保持活动状态。

想出了三种可能的解决方案。

默认情况下,如果至少有一个无效字段,提交按钮将被禁用

如果表单字段无效,则禁用多个按钮的最小通用 example

解决方案 1

将其他按钮的类型从 type="submit" 更改为 type="button" 将使其他按钮保持活动状态,并且仅在表单字段无效时禁用提交按钮。

Fiddle


解决方案 2

添加属性name="submitme" only 形成submit 按钮并在bootstrapvalidator 插件调用中定义它。
重要提示: 不要使用属性@987654331 @ 如果您这样做,即使字段有效,提交按钮仍将保持为 disabled

注意:在这个解决方案中,所有按钮都有type="submit"

$(document).ready(function () {
    $('#selector').bootstrapValidator({
        submitButtons: 'button[name="submitme"]',
        // Rest of the validation code goes here
    });
});

这只会在表单字段无效时禁用submit 按钮并保持其他按钮处于活动状态。

Fiddle


解决方案 3

使用表单事件status.field.bv 并检查表单字段是否有效或不让其他按钮保持活动状态

注意:此解决方案经过测试,适用于新版本0.5.3

$(document).ready(function () {
    $('#selector').bootstrapValidator({
        // Rest of the validation code goes here
    }).on('status.field.bv', function (e, data) {
        formIsValid = true; 
        if(formIsValid) { 
            $('#cancel').attr('disabled', false);
            $('#reset').attr('disabled', false);
        }
    });
});

注意:添加了id's 到按钮,如果表单字段无效,该按钮需要处于活动状态。

Fiddle

【讨论】:

    猜你喜欢
    • 2020-08-12
    • 2022-01-12
    • 1970-01-01
    • 2016-08-03
    • 2012-11-06
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多