2013-05-29 90 views
0

我已經有了一個很好的搜索,發現了幾個答案這個問題,嘗試最多,但不知道爲什麼沒有解決方案工作。jQuery .load()只被調用一次

在表單中的任何提交中,load()調用都起作用,但後續提交使用標準http請求而不是ajax調用。

任何人都可以看看我的代碼,並告訴我這是什麼原因?

$('#cart-container form').on('submit',function() { 
    $(this).ajaxSubmit({ 
     success: cart 
    }); 
    return false; 
}); 

function cart() { 
    var path = '/enter/embed-cart'; 
    $('#cart-container').fadeTo('fast', 0.5).load(path, function() { 
     $('#cart-container').fadeTo('fast', 1); 
    }); 
} 

P.S我正在使用mals向上ajax形式。

謝謝

回答

4

這是因爲要更換load

您可以使用事件委託,讓您的形式,它的工作

$('#cart-container').on('submit','form',function() { 
+0

澄清:最初將事件處理程序附加到t他形成了,但在第一個'.load'之後,表單被替換爲一個新表單(它們甚至看起來完全一樣,但是它們是不同的形式)。新表單沒有'submit'處理程序。因此,解決問題的另一種方法是在淡入之後簡單地重新附加處理程序(到新窗體)。 – Jon

+0

謝謝您的解釋! – ccdavies