[英]How to prevent form to submit in user availability check process?
我有一个注册表单,我在其中使用jquery检查用户的可用性,但是当用户不可用时,不应提交表单。 在不可用的情况下如何防止提交。 我的代码是
$(document).ready(function(){
$('#email').change(function() {
status=0;
user=$('#email').val();
$.ajax({
type:"post",
url:"verify-user.php",
data:{'user':user},
success:function(data){
if(data=='1'){
$("#show_msg").html('<span style="color:#F00;">Not avilable</span>');
}else if(data=='0'){
$("#show_msg").html('<span style="color:#093;">Avilable</span>');
}
}
});
});
});
请帮我。 您的帮助将不胜感激。 提前致谢。
防止表单提交的代码与事件相关联-在这种情况下:
$('#email').change
您需要将事件作为参数传递给事件处理程序函数,然后添加
event.preventDefault()
到您的电子邮件更改处理程序。 但是,由于您是通过Ajax调用验证的,因此我认为,如果验证成功,则必须手动提交表单。 以下经过编辑的代码-未经测试,但希望可以引导您朝正确的方向前进。
$(document).ready(function() {
$('#email').change(function(event) {
status=0;
user=$('#email').val();
// prevent default action
event.preventDefault();
$.ajax({
type:"post",
url:"verify-user.php",
data:{'user':user},
success:function(data){
if(data=='1'){
$("#show_msg").html('<span style="color:#F00;">Not avilable</span>');
} else if (data=='0') {
$("#show_msg").html('<span style="color:#093;">Avilable</span>');
//submit your form if validation succeeds
$("#your-form-id").submit();
}
}
});
});
});
您不能只使用if
语句吗?
var user=$('#email').val();
if (!user) {
return;
}
$.ajax({
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.