2013-10-10 59 views
0

我有一個單擊事件的窗體。當點擊創建按鈕,此事件發生:如何在函數返回false時成功提交表單?

(注:我使用WordPress的,因此「jQuery的」平等「$」)

jQuery('.btn-create').click(function(e){ 

    var charname = jQuery('.charname').val(); 
    jQuery.ajax({ 
     type: "POST", 
     url: 'http://bemlocal.vn/validate.php', 
     data: 'charname=' + charname, 
     success: function(message) { 
      if(message == 'ok') { 
       jQuery('#charnameForm').submit(); 
      } 
      else { 
       jQuery('.message').text(message); 
      } 
     } 
    }); 

    return false; 
}); 

默認情況下,這種形式不能提交,因爲在函數結束時返回false。但是,當ajax調用的狀態爲成功並且消息爲「確定」時,我想提交此表單。我嘗試了很多方法,但仍然無法提交表單。

如何解決這個問題?

更新:我有一個錯誤。因爲我在Wordpress define('WP_DEBUG', true);中打開調試模式,所以消息中包含了PHP的通知,而不僅僅是ajax調用的消息。它導致消息檢查的條件不正確,並且表單無法提交。

我打開了調試模式,它工作!

+1

什麼是使用返回false的目的後? – Oliboy50

+1

您是否檢查過以確保'message'變量是'ok'? –

+0

@ Oliboy50:目的是防止默認提交。我只是想提交表單,當ajax調用的狀態是成功的,並且消息只是「ok」。如果成功並且消息不是「OK」,表單將不會被提交。 –

回答

0

變化碼

以前

jQuery('#charnameForm').submit(); 

jQuery('#charnameForm')[0].submit(); 
+0

謝謝,但我有上面的解釋。或者您可以閱讀主題中更新的評論。 –

+0

@NguyễnTrọngBằng - 哦,我明白了。感謝您發表評論。 – babonamu

相關問題