2010-04-13 39 views
0

我有下面的代碼塊:爲什麼jquery ajax調用中的數據屬性重寫我的返回false?

$("#contact_container form, #contact_details form").live(
    "submit", 
    function(event) { 
     $.ajax({ 
      type: this.method, 
      url: this.action, 
      data: this.serialize(), 
      success: function(data) { 
       data = $(data).find("#content"); 
       $("#contact_details").html(data); 
      }, 
     }); 
     return false; 
    } 
; 

當我離開了數據:this.serialize(),它的行爲正常並顯示#contact_details DIV內的響應。然而,當我離開它時,它會提交表單,導致頁面離開。爲什麼data屬性的存在會否定返回false? (可能是由於我無法發現的錯誤...)

另外,我的查找語句的語法是否正確?它回來爲「未定義」,即使我使用調試器來檢查ajax響應,並且該ID確實存在。

感謝, 史蒂夫

回答

1

我認爲this.serialize()失敗,因爲它指向的表單元素,而不是一個jQuery對象。 這可能會導致腳本錯誤,因此永遠不會達到return語句。

嘗試將其更改爲:

data: $(this).serialize() 
+0

謝謝!就是這樣 – steve 2010-04-13 18:21:12

相關問題