我正在使用带有 jQuery 验证的 qtip2,工具提示在验证输入后不会消失
I am using qtip2 with jQuery validate, tooltip doesn't disappear after validating inputs
工具提示在验证输入后没有消失,它仍然显示。
我的代码在下面,请帮助我找出如何在填写或验证我的输入后删除它。
$('#signupForm').validate({
rules: {
username: {
required: true,
minlength: 3
},
phone:{
tel: true,
required: true
},
message: {
required: true,
minlength:2
},
email: {
required: true,
email: true
},
captcha: {
required: true,
minlength: 5
}
},
errorPlacement: function (error, element) {
flipIt = $(element).parents('div.left').length > 0,
position = {
at: 'center center',
my: 'top top'
},
offset = flipIt ? 6 : 35;
$(element).filter(':not(.valid)').qtip({
overwrite: false,
content: error,
position: position,
show: {
event: false,
ready: true
},
hide: false,
style: {
classes: 'ui-tooltip-dark ui-tooltip-shadow',
tip: {
corner: true,
offset: offset
}
}
}).qtip('option', 'content.text', error);
} ,
submitHandler: function (form) {
$(".contact-button").val("Please Wait...");
$(".contact-button").prop('disabled', true);
$.ajax({
type: "POST",
url: "ajax/contact_page.php",
data: 'username='+$("#username").val()+'&email='+$("#email").val()+'&phone='+$("#phone").val()+'&message='+$("#message").val()+'&captcha='+$("#captcha").val(),
timeout: 3000,
success:function(data){
$("#mail-status").html(data);
$("#signupForm").find("input, textarea").val("");
$(".contact-button").val("Sent");
setTimeout(function () {
$('#signupForm').find('.valid').qtip('destroy');
}, 1);
refreshCaptcha();
setTimeout(function() {
$(".contact-button").prop('disabled', false);
$("#mail-status").text("");
$(".contact-button").val('Click to Send');
}, 10000);
},
error: function() {alert('failed');}
});
}
});
在这种情况下,每当我尝试填写输入时,它都会将错误消息显示为工具提示,但如果我正确填写(有效),它仍会出现在 'tip' 上。
我该如何解决?
目前是
hide: false
改为:
hide: { when: { event: 'mousemove' },
delay: 2000,
effect: function() { $(this).qtip("destroy"); }
}
工具提示在验证输入后没有消失,它仍然显示。
我的代码在下面,请帮助我找出如何在填写或验证我的输入后删除它。
$('#signupForm').validate({
rules: {
username: {
required: true,
minlength: 3
},
phone:{
tel: true,
required: true
},
message: {
required: true,
minlength:2
},
email: {
required: true,
email: true
},
captcha: {
required: true,
minlength: 5
}
},
errorPlacement: function (error, element) {
flipIt = $(element).parents('div.left').length > 0,
position = {
at: 'center center',
my: 'top top'
},
offset = flipIt ? 6 : 35;
$(element).filter(':not(.valid)').qtip({
overwrite: false,
content: error,
position: position,
show: {
event: false,
ready: true
},
hide: false,
style: {
classes: 'ui-tooltip-dark ui-tooltip-shadow',
tip: {
corner: true,
offset: offset
}
}
}).qtip('option', 'content.text', error);
} ,
submitHandler: function (form) {
$(".contact-button").val("Please Wait...");
$(".contact-button").prop('disabled', true);
$.ajax({
type: "POST",
url: "ajax/contact_page.php",
data: 'username='+$("#username").val()+'&email='+$("#email").val()+'&phone='+$("#phone").val()+'&message='+$("#message").val()+'&captcha='+$("#captcha").val(),
timeout: 3000,
success:function(data){
$("#mail-status").html(data);
$("#signupForm").find("input, textarea").val("");
$(".contact-button").val("Sent");
setTimeout(function () {
$('#signupForm').find('.valid').qtip('destroy');
}, 1);
refreshCaptcha();
setTimeout(function() {
$(".contact-button").prop('disabled', false);
$("#mail-status").text("");
$(".contact-button").val('Click to Send');
}, 10000);
},
error: function() {alert('failed');}
});
}
});
在这种情况下,每当我尝试填写输入时,它都会将错误消息显示为工具提示,但如果我正确填写(有效),它仍会出现在 'tip' 上。 我该如何解决?
目前是
hide: false
改为:
hide: { when: { event: 'mousemove' },
delay: 2000,
effect: function() { $(this).qtip("destroy"); }
}