我使用jQuery UI Tabs來顯示多個表單(每個表單可以包含多個表單)。當我在標籤之間切換時,我試圖使用AJAX調用來執行標籤表單的POST。這是我正在做的jQuery。使用jQuery時的兩個POST
select: function (event, ui) {
var tab_index = $('#tabs').tabs('option', 'selected');
var panel_id = $("ul li a:eq(" + tab_index + ")", this).attr("href");
var panel = $(panel_id); // the content of the tab
// For each form in the panel, submit it via AJAX and update its HTML accordingly.
$(panel).find("form").each(function() {
var that = this;
$.post($(this).attr("action"), $(this).serialize(), function (data, success) {
if (success) {
$(that).html(data);
}
});
});
},
這適用於IE,部分適用於Firefox。在Firefox的一些標籤中,當我在幾次之後在標籤之間切換時,兩個快速文章連續發生(我可以在控制檯中看到它)。這導致不正確的數據被髮回到HTML(我從服務器丟失錯誤消息和原始數據)。我可以每次都重現這個問題。有人對這裏發生的事情有任何建議嗎?
更新:他們的問題始終發生在同一個標簽上。工作的標籤和失敗的標籤之間沒有明顯的不同(或者沒有相似之處)。對於兩個快速連續發生的POST數據,第一個POST不包含數據(AKA,我不認爲序列化正確發生),第二個POST是正確的形式,但它沒有任何更改我對錶單做了什麼(因爲第一次POST重置表單)。
你說這個奇怪的行爲發生在一些選項卡上。它總是相同的標籤?意思是,它發生在一些標籤上,但它從來沒有發生在其他標籤上。只是想知道是否可能是由於標籤中的內容(或其結構)。另外,當你看到兩個快速文章,它是發佈相同的數據,還是來自不同標籤的數據?也許有東西被緩存。 – 2010-08-06 18:45:49
@D Hoerster - 更新......謝謝。 – JasCav 2010-08-06 18:53:42