Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从按钮引导4中删除禁用的属性_Jquery_Validation - Fatal编程技术网

Jquery 从按钮引导4中删除禁用的属性

Jquery 从按钮引导4中删除禁用的属性,jquery,validation,Jquery,Validation,我正在用jquery 3.3.1验证我表单中的电子邮件,但是当我试图从表单提交按钮中删除禁用属性时,它没有任何作用。。。我的意思是,只有当响应为真时,才会禁用按钮。。但是当响应为false时,它不会删除该属性。而且它不会将css颜色更改为绿色。。。密码匹配器工作得很好,但电子邮件却无法发送到任何地方。有没有机会帮我看看这里出了什么问题 这是密码 $(document).ready(function () { $('#registerform').validate(); $

我正在用jquery 3.3.1验证我表单中的电子邮件,但是当我试图从表单提交按钮中删除禁用属性时,它没有任何作用。。。我的意思是,只有当响应为真时,才会禁用按钮。。但是当响应为false时,它不会删除该属性。而且它不会将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');
                }
            });
        }
    });
});

您没有正确使用.removeAttr。它只有一个参数。请查看下一链接:

另外,我不确定链接是否能改变颜色。我宁愿这样做:

var emailBadge = $("#alertBadgeemail");
emailBadge.show();
emailBadge.html(msg); //check is msg string or object
emailBadge.css("color", "green");

一般建议是尽量避免重复选择器,这可能会影响浏览器性能。

在bootstrap4中,disable是一个类值,因此您必须将其从class属性中删除:

$("#submitsn").removeClass('disabled');
也许您添加了禁用属性,因此也必须将其删除:

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

这是一种财产。请尝试$submitsn.propdisabled,false;。live是从jQuery中删除的一个弃用版本,因为1.9根本不使用它-也请发布一个。这是一种黑客解决方案,因为禁用是一种。此外,链接比单独创建变量和调用方法更有效,因此答案的第二部分并不是最佳实践。
$("#submitsn").removeAttr('disabled');