2012-04-16 88 views
0

大家好,我正在嘗試將jQuery AJAX整合到我的多步驟表單中,以便它將某個div更新爲process.php頁面上的某個div,但它始終將結果加載到新一頁。如何在不刷新頁面的情況下更新div?多步驟表單上的jQuery ajax

這是我使用jQuery代碼:

$.ajax({ 
    url: 'process.php', 
    data: $('form[name="booking"]').serialize(), 
    dataType: 'html', 
    type: 'POST', 
    success: function(data) { 

     // this is the bit that needs to update the div 

     $('#last-step').fadeOut(300, function() { $('#result').html(data).fadeIn(300); 
    }, 
    complete: function (data) { 
     // your code here 
    }, 
    error: function (url, XMLHttpRequest, textStatus, errorThrown) { 
     alert("Error: " + errorThrown); 
    } 
}); 

這是我的多步驟形式的代碼:http://jsfiddle.net/xSkgH/47/

在提前感謝

回答

1

我沒有看到一個div在標記稱爲result。所以可能你需要在你顯示的最後一個div中顯示你的結果。而且你也缺少})。下面的代碼應該可以工作,

$.ajax({ 
    url: 'process.php', 
    data: $('form[name="booking"]').serialize(), 
    dataType: 'html', 
    type: 'POST', 
    success: function(data) { 

     // this is the bit that needs to update the div 

     $('#last-step').fadeOut(300, function() { 
       $('#last-step').html(data).fadeIn(300); 
     }); 
    }, 
    complete: function (data) { 
     // your code here 
    }, 
    error: function (url, XMLHttpRequest, textStatus, errorThrown) { 
     alert("Error: " + errorThrown); 
    } 
}); 
+0

結果div存儲在process.php文件中。我測試了你的代碼,它似乎返回相同的問題。結果出現在新頁面中,並且div未被更新。不知道我做錯了什麼。 – CJS 2012-04-16 12:41:49

+0

process.php是處理您的ajax請求的服務器頁面。所以你應該在你的客戶端屏幕(你有表單的頁面)將結果更新爲div。確保你沒有其他腳本錯誤。你是否在某處點擊提交按鈕? – Shyju 2012-04-16 12:51:04

+0

這是否意味着必須創建所有表單clientside?即使是divs? – Tom 2012-07-16 09:01:02