Javascript JQuery验证程序-更改响应颜色
我正在使用JQuery验证程序插件。我有一个提交处理程序,如下所示:Javascript JQuery验证程序-更改响应颜色,javascript,jquery,ajax,validation,Javascript,Jquery,Ajax,Validation,我正在使用JQuery验证程序插件。我有一个提交处理程序,如下所示: submitHandler: function (form) { $.ajax({ type: "POST", url: "php/process.php", data: { 'emailAddress': $("#emailAddress").val(), }, dataType: "json" }).do
submitHandler: function (form) {
$.ajax({
type: "POST",
url: "php/process.php",
data: {
'emailAddress': $("#emailAddress").val(),
},
dataType: "json"
}).done(function (response) {
if(response[1] == 'Rejected'){
$('#spanOne').addClass('red');
}
if(response[1] == 'Approved'){
$('#spanOne').addClass('green');
}
if(response[3] == 'Rejected'){
$('#spanTwo').addClass('red');
}
if(response[3] == 'Approved'){
$('#spanTwo').addClass('green');
}
if(response[0] == 'F'){
$('#spanOne').html('Your email has been ' + response[1]);
}
else{
$('#spanOne').html(response[0] + ' has been ' + response[1]);
}
if(response[2] == 'F'){
$('#spanTwo').html('Your mobile number has been ' + response[3]);
}
else{
$('#spanTwo').html(response[2] + ' has been ' + response[3]);
}
});
return false;
}
["F", "Rejected", "07364928374", "Approved", "ABC123"]
现在的第一个问题是,我的done函数对我来说似乎很混乱。基本上,我还没有发布所有代码,但我的回应如下:
submitHandler: function (form) {
$.ajax({
type: "POST",
url: "php/process.php",
data: {
'emailAddress': $("#emailAddress").val(),
},
dataType: "json"
}).done(function (response) {
if(response[1] == 'Rejected'){
$('#spanOne').addClass('red');
}
if(response[1] == 'Approved'){
$('#spanOne').addClass('green');
}
if(response[3] == 'Rejected'){
$('#spanTwo').addClass('red');
}
if(response[3] == 'Approved'){
$('#spanTwo').addClass('green');
}
if(response[0] == 'F'){
$('#spanOne').html('Your email has been ' + response[1]);
}
else{
$('#spanOne').html(response[0] + ' has been ' + response[1]);
}
if(response[2] == 'F'){
$('#spanTwo').html('Your mobile number has been ' + response[3]);
}
else{
$('#spanTwo').html(response[2] + ' has been ' + response[3]);
}
});
return false;
}
["F", "Rejected", "07364928374", "Approved", "ABC123"]
基本上,如果位置1被拒绝,我需要spanOne为红色,否则它应该为绿色。这同样适用于位置3
我还有一个残疾的处理者,他做了与上述类似的事情。它可以工作,如果我输入一封无效的电子邮件,它会显示红色。然而,如果我提交了一封有效的电子邮件,尽管上面写着“已批准”,但它仍然是红色的。那么看起来done函数没有更新?本质上,它似乎只在第一次提交时才起作用
我如何才能改进它,使其始终有效
谢谢根据您的描述,我猜您在提交无效数据时添加了一个
红色
类,但在再次提交时不会将其删除。因此,即使添加了绿色
类,红色
类仍然存在,并且可能会覆盖它
提交时第二次检查您的电子邮件字段。它是否同时具有红色
和绿色
类?如果是,请在done
callback的顶部添加以下内容:
$('spanOne,'spanTwo')。removeClass('red-green')
请同时显示您的HTML!