Я использую вкладки пользовательского интерфейса jQuery для отображения нескольких форм (каждая вкладка может содержать более одной формы). Когда я переключаюсь между вкладками, я пытаюсь сделать POST из форм вкладки, используя вызовы AJAX. Вот jQuery для того, что я делаю.Два POST при использовании jQuery
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 (я теряю сообщения об ошибках и исходные данные с сервера). Я могу воспроизвести эту проблему каждый раз. У кого-нибудь есть предложения относительно того, что здесь происходит?
Обновление: Проблема возникает последовательно на тех же вкладках. Между работающими вкладками и теми, которые не работают, нет ничего очевидного (или не существует сходства). Что касается данных POSTED, когда два происходят быстро в строке, первый POST не содержит данных (AKA, я не думаю, что сериализация происходит должным образом), а вторая POST - правильная форма, но она не имеет никаких изменений что я сделал в форме (потому что первый POST сбросил форму).
Вы говорите, что это странное поведение происходит на некоторых вкладках. Всегда ли это одни и те же вкладки? Значит, это происходит на некоторых вкладках, но это никогда не происходит на других вкладках. Просто интересно, может ли это быть из-за содержания на вкладках (или как оно структурировано). Кроме того, когда вы видите две быстрые сообщения, это одни и те же данные, которые вы отправили, или это данные с другой вкладки? Возможно, что-то кэшируется. –
@D Hoerster - Обновлено ... спасибо. – JasCav