【发布时间】:2021-01-13 20:54:31
【问题描述】:
我正在使用 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> 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');
}
});
}
});
});
【问题讨论】:
-
Disabled 是一个属性。试试
$("#submitsn").prop("disabled", false); -
.live是从 jQuery 中删除的已弃用的事实,因为 1.9 根本不使用它 - 也请发布 minimal reproducible example。
标签: jquery validation