日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

onsubmit校验表单时利用ajax的return false无效解决方法

發(fā)布時間:2025/5/22 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 onsubmit校验表单时利用ajax的return false无效解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

代碼:

function checkNewEmail(){var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*");var newEmail=$("#email_new").val();if(re_email.test(newEmail)){$.ajax({type:"post",dataType:"json",url:"existEmail?email="+newEmail,success:function(dataResult){if(dataResult=="true"){$("#emial-error").text("郵箱已注冊。");return false;}else{return true;}}});}else{return false;}}


每次郵箱格式正確用ajax判斷郵箱是否已存在時,無論成功否都執(zhí)行submit,卡了好久,網(wǎng)上找了好多,終于找到原因也解決方案了。

問題原因

  執(zhí)行ajax時return false的function 與onsubmit()不是同一個函數(shù),所以無論return 什么都會直接執(zhí)行submit()提交表單ok知道錯誤原因了之后修改一下代碼

修改后代碼:

function checkNewEmail(){var flat=false;var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*");var newEmail=$("#email_new").val();if(re_email.test(newEmail)){$.ajax({type:"post",dataType:"json",url:"existEmail?email="+newEmail,success:function(dataResult){if(dataResult=="true"){$("#emial-error").text("郵箱已注冊。");flat=false;}else{flat=true;}}});}else{return false;}return flat;}


修改之后再執(zhí)行,可是每次執(zhí)行完都return false,就好像flat=true,不起作用一樣,可是調(diào)試了發(fā)現(xiàn)明明有執(zhí)行flat=true

問題原因

  在執(zhí)行ajax時,async默認的默認值為true,這種情況為異步方式,就是說ajax發(fā)送請求后,在等待服務(wù)端返回的這個過程中,前臺會繼續(xù)執(zhí)行ajax塊后面的腳本,直到服務(wù)端返回正確的結(jié)果才會執(zhí)行success,也就是說這時執(zhí)行的是兩個線程,一個線程在執(zhí)行ajax時另一個進程已經(jīng)執(zhí)行return flat了。所以一直返回false.把async改為false,這時才是同步方式,只有一個線程。

找到原因后,再修改一下代碼,最終終于成功了。

最終代碼

function checkNewEmail(){var flat=false;var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*");var newEmail=$("#email_new").val();if(re_email.test(newEmail)){$.ajax({type:"post",dataType:"json",async:false,//同步方式url:"existEmail?email="+newEmail,success:function(dataResult){if(dataResult=="true"){$("#emial-error").text("郵箱已注冊。");flat=false;}else{flat=true;}}});}else{$("#emial-error").text("郵箱格式不正確。");return false;}return flat;}

轉(zhuǎn)自:https://blog.csdn.net/u010079945/article/details/38680769

轉(zhuǎn)載于:https://www.cnblogs.com/lzw123-/p/9822626.html

總結(jié)

以上是生活随笔為你收集整理的onsubmit校验表单时利用ajax的return false无效解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。