Jquery 从按钮引导4中删除禁用的属性
我正在用jquery 3.3.1验证我表单中的电子邮件,但是当我试图从表单提交按钮中删除禁用属性时,它没有任何作用。。。我的意思是,只有当响应为真时,才会禁用按钮。。但是当响应为false时,它不会删除该属性。而且它不会将css颜色更改为绿色。。。密码匹配器工作得很好,但电子邮件却无法发送到任何地方。有没有机会帮我看看这里出了什么问题 这是密码Jquery 从按钮引导4中删除禁用的属性,jquery,validation,Jquery,Validation,我正在用jquery 3.3.1验证我表单中的电子邮件,但是当我试图从表单提交按钮中删除禁用属性时,它没有任何作用。。。我的意思是,只有当响应为真时,才会禁用按钮。。但是当响应为false时,它不会删除该属性。而且它不会将css颜色更改为绿色。。。密码匹配器工作得很好,但电子邮件却无法发送到任何地方。有没有机会帮我看看这里出了什么问题 这是密码 $(document).ready(function () { $('#registerform').validate(); $
$(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> Password matching</li>').css('color', 'green');
$("#submitsn").attr("disabled", false);
} else {
$('#alertPassword').html('<li><i class="fa fa-times text-success"></i> 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');