ajax提交表單的一些注意事項:解釋為什么return false卻依然提交
ajax提交表單的一些注意事項.ajax提交表單是經(jīng)常用到的.一般ajax提交要求不再跳轉(zhuǎn),自然而然的用到了return false .但是你知道 return false 無效,有哪些原因嗎?
1.js代碼有錯誤,語法錯誤,邏輯錯誤,等等. 語法錯誤相對容易解決,firebug可以看得清楚.邏輯錯誤就得仔細排查了;
2.跨域. www.xiaojudeng.com 域名下ajax請求 www.baidu.com ,肯定不行的;這在ie下表現(xiàn)為return false失效,依然正常提交;firefox可能正常;因為實際測試中,子域在firefox里正常,ie不正常.
Php代碼- 1.$(function(){
- 2.var url = 'http://www.xiaojudeng.com';
- 3.formobj = $('#bookform');
- 4.formobj.submit(function(){
- 5. var title = $('#title').val();
- 6. var username = $('#usernameorder').val();
- 7. var telephone = $('#telephone').val();
- 8. var booktime = $('#booktime').val();
- 9. if(title.length<1) {
- 10. alert('手術(shù)項目不能為空');$('#title').focus();
- 11. return false;
- 12. }
- 13. if(username.length<1){
- 14. alert('您的姓名不能為空'); $('#usernameorder').focus();
- 15. return false;
- 16. }
- 17. if( !ismobile(telephone) ){
- 18. alert('您的手機號碼不正確'); $('#telephone').focus();
- 19. return false;
- 20. }
- 21. $.post(url,formobj.serialize(),function(data){
- 22. if(data == 0) {
- 23. alert('訂單提交成功,客服將及時聯(lián)系您。');
- 24. $('#title').val('');$('#usernameorder').val('');$('#telephone').val('');$('#booktime').val('');
- 25. return false;
- 26. }
- 27. else{
- 28. alert('非常抱歉,訂單提交失敗,請聯(lián)系網(wǎng)站客服。');
- 29. return false;
- 30. }
- 31. });
- 32. return false;
- 33.});
- 34.})
復(fù)制代碼 |