0
我有一个关于jQuery验证插件和具体远程方法的问题。jQuery验证:远程方法
说我有一个checkEmail.php
脚本,用于检查数据库的电子邮件地址。我也使用required:true
和email:true
。我想在从服务器获取响应的同时添加微调器,并在完成时隐藏它。
与此同时,如果服务器的结果是true
,我想在电子邮件字段旁边显示绿色的勾号图标。
我用下面的代码:
$('#form').validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: 'js/ajax/checkEmail.php',
type: 'POST',
data: {
email: function() {
return $('#email').val();
}
},
beforeSend: function() {
//CODE TO SHOW THE SPINNER
},
success:function(output){
//CODE TO HIDE THE SPINNER
if(output == 'true')
{
//SHOW GREEN TICK
}
else
{
//SHOWS THE CUSTOM ERROR FROM SERVER
}
}
}
}
},
messages: {
email: {
required: 'Please enter your email',
email: 'Please enter a valid email address'
}
}
});
下面要说的电子邮件地址[email protected]
是在数据库中。远程方法将返回true
。同时满足了required
和email
两种方法。所以会显示绿色的勾号。
问题:
如果我不满意的需要,电子邮件的方法之一,那么将自动显示错误信息,但绿色的勾将保持不变。我试图在.validate()
之后使用.valid()
来检查表单何时无效,然后删除绿色勾号。它不工作。
if($('#form').valid())
{
//REMOVE GREEN TICK : --> NOT WORKING
}
有什么我可以做的操纵DOM如果表单无效?换句话说,我该如何做这项工作?
由于提前,
克里斯托
在成功函数的else部分隐藏tic? – Rasclatt
我不认为这会起作用,因为else部分是在远程方法中被激活,如果满足所需的和电子邮件方法。 – christostsang