[問題] jquery form plug in 的問題

看板Ajax作者 (九月二號)時間14年前 (2011/05/05 22:07), 編輯推噓0(008)
留言8則, 3人參與, 最新討論串1/1
var options = { target:'#login_box', url:'regist.php', beforeSubmit:function(arr, $form, options) { var jform = $form[0]; var name = jform.username.value; $.get('account_chk.php',{'name':name},function(data){ if(data == '1') { alert('這個名稱已經被人用走了'); return false; } }); } } $("#registForm").ajaxForm(options); 主要是在執行regist.php之前,想先檢查一下帳號是否重覆 照理來說,應該會先走beforeSubmit下的function 但是不論我怎麼試,程式都會先執行regist.php 再執行beforeSubmit下的function 是不是我那裏寫錯了呢...盼指教,感謝 -- 女人會愛上讓她哭的男人,卻嫁給讓她笑的男人 男人會愛上讓他笑的女人,卻娶了讓他哭的女人 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.186.12

05/06 02:41, , 1F
ajax 是非同步傳輸,他不會等你裡面的 get 完畢才跑 sumbit
05/06 02:41, 1F

05/06 02:42, , 2F
也就是你的beforeSubmit 的確是先觸發,但是 get 還沒結束
05/06 02:42, 2F

05/06 02:42, , 3F
他就接著 submit, 他只盡到 執行了這個 function 的階段,
05/06 02:42, 3F

05/06 02:42, , 4F
並沒有等待他回傳
05/06 02:42, 4F

05/06 02:43, , 5F
可以綁在 FORM 的 SUBMIT 事件裡面去 檢查 ,完畢之後SUBMIT
05/06 02:43, 5F

05/06 23:50, , 6F
反覆測試的結果,原因是出在BLOCKUI
05/06 23:50, 6F

05/18 18:59, , 7F
既然使用到了jquery 應該也可以使用表單驗證的plugin
05/18 18:59, 7F
文章代碼(AID): #1DmgyFxz (Ajax)
文章代碼(AID): #1DmgyFxz (Ajax)