提交表单时,进行ajax验证

提交表单时,先进行ajax验证,根据验证结果判断是否提交表单。

这时的ajax验证必须是同步的,才能保证先验证后提交表单。

代码如下:

function checkform(){
	var flag=0;
//ajax同步提交
	$.ajax({    
	      type : "get",    
	      url : "base.php", 
	      dataType:'json',    
	      data : "action=check_info&user_str="+user_str+"&email_str="+email_str,    
	      async : false,    
	      success : function(msg){
	      	if(msg.user!='' && typeof msg.user !="undefined"){
				alert(msg.user);
				flag=1;
				return false;
			}else if(msg.db!='' && typeof msg.db !="undefined"){
				alert(msg.db);
				flag=1;
				return false;
			}else if(msg.email!='' && typeof msg.email !="undefined"){
				alert(msg.email);
				flag=1;
				return false;
			}else if(msg.emaildb!='' && typeof msg.emaildb !="undefined"){
				alert(msg.emaildb);
				flag=1;
				return false;
			}
	    }   
	}); 
	if(flag==1){
		return false;
	}
}
最后根据flag的值去判断要不要提交。


jquery里的ajax调用是异步的(就是触发了提交按钮后先提交表单了,然后去验证,有时也会发现在提交表单前alert()一点东西的话,验证又可以用了,这只是延迟了表单提交,而给出ajax验证的时间而已),提交表单时不能用$.get(),$.post()来验证;

你可能感兴趣的:(提交表单时,进行ajax验证)