日期:2014-05-16  浏览次数:20567 次

ajax提交表单的一些注意事项:解释为什么return false却依然提交

ajax提交表单的一些注意事项.ajax提交表单是经常用到的.一般ajax提交要求不再跳转,自然而然的用到了return false .但是你知道 return false 无效,有哪些原因吗?

1.js代码有错误,语法错误,逻辑错误,等等. 语法错误相对容易解决,firebug可以看得清楚.逻辑错误就得仔细排查了;

2.跨域. www.xiaojudeng.com 域名下ajax请求 www.baidu.com ,肯定不行的;这在ie下表现为return false失效,依然正常提交;firefox可能正常;因为实际测试中,子域在firefox里正常,ie不正常.

?

$(function(){
var url = 'http://www.xiaojudeng.com';
formobj = $('#bookform');
formobj.submit(function(){
	   var title = $('#title').val();
	   var username = $('#usernameorder').val();
	   var telephone = $('#telephone').val();
	   var booktime = $('#booktime').val();
	   if(title.length<1) {
		   alert('手术项目不能为空');$('#title').focus();
		   return false;
		   }
		   if(username.length<1){
		   alert('您的姓名不能为空'); $('#usernameorder').focus();
		   return false;
		   }
		   if( !ismobile(telephone) ){
		   alert('您的手机号码不正确'); $('#telephone').focus();
		   return false;
		   }
       $.post(url,formobj.serialize(),function(data){
	   if(data == 0) { 
		   alert('订单提交成功,客服将及时联系您。');
		   $('#title').val('');$('#usernameorder').val('');$('#telephone').val('');$('#booktime').val('');
		   return false;
		   }
	       else{
		   alert('非常抱歉,订单提交失败,请联系网站客服。');
		   return false;
		   }
	   });
	   return false;
});
})

?