首页 > 解决方案 > 从按钮引导程序 4 中删除禁用属性

问题描述

我使用 jquery 3.3.1 验证表单中的电子邮件,但是当我尝试从表单提交按钮中删除 disabled 属性时,它什么也没做......我的意思是,如果响应为真,它只会禁用按钮。但是当响应为假时,它不会删除该属性。它也没有将css颜色更改为绿色......密码匹配器工作正常,但电子邮件却没有任何地方可悲。有没有机会帮我看看这里有什么问题?

这是代码

    $(document).ready(function () {
    $('#registerform').validate();
    $('#password, #confirmpassword').on('keyup', function () {
        if ($('#password').val() == $('#confirmpassword').val()) {
            $('#alertPassword').html('<li><i class="fa fa-check text-success"></i>&nbsp; Password matching</li>').css('color', 'green');
            $("#submitsn").attr("disabled", false);
        } else {
            $('#alertPassword').html('<li><i class="fa fa-times text-success"></i>&nbsp; Password not matching</li>').css('color', 'red');
            $("#submitsn").attr("disabled", true);
        }
    });
    $("#email").live("blur", function (e) {
        $("#alertBadgeemail").hide();
        if ($("#email").val() == null || $("#email").val() == "") {
            $("#alertBadgeemail").show();
            $("#submitsn").attr("disabled", false);
            $("#alertBadgeemail").html("Email is required field.").css("color", "red");
        } else {
            $.ajax({
                type: "POST",
                url: "check-email.sn",
                data: $('#registerform').serialize(),
                dataType: "html",
                cache: false,
                success: function (msg) {
                    $("#alertBadgeemail").show();
                    $("#alertBadgeemail").html(msg).css("color", "red");
                    $("#submitsn").attr('disabled', 'disabled');
                },
                error: function (msg) {
                    $("#alertBadgeemail").show();
                    $("#alertBadgeemail").html(msg).css("color", "green");
                    $("#submitsn").removeAttr('disabled', 'disabled');
                }
            });
        }
    });
});

标签: jqueryvalidation

解决方案


在 bootstrap4 disable 是一个类值,所以你必须从类属性中删除它:

$("#submitsn").removeClass('disabled');

也许您添加了禁用属性,因此您也必须将其删除:

$("#submitsn").removeAttr('disabled');

推荐阅读