J'utilise les onglets de l'interface utilisateur jQuery pour afficher un certain nombre de formulaires (chaque onglet peut contenir plusieurs formulaires). Lorsque je passe d'un onglet à l'autre, j'essaie de faire un POST des formulaires de l'onglet en utilisant les appels AJAX. Voici le jQuery pour ce que je fais.Deux POST lors de l'utilisation de 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);
}
});
});
},
Cela fonctionne dans IE et fonctionne partiellement dans Firefox. Sur certains onglets de Firefox, lorsque je passe d'un onglet à l'autre après quelques passages, deux messages rapides se succèdent (je peux le voir dans la console). Cela entraîne la publication des données incorrectes au HTML (je perds les messages d'erreur et les données d'origine du serveur). Je peux reproduire ce problème à chaque fois. Quelqu'un a des suggestions sur ce qui se passe ici?
Mise à jour: Ces problèmes se produisent systématiquement sur les mêmes onglets. Il n'y a rien de différent (ou pas de similarité) entre les onglets qui fonctionnent et ceux qui échouent. En ce qui concerne les données POSTed quand deux se produisent rapidement dans une rangée, le premier POST ne contient aucune donnée (AKA, je ne pense pas que la sérialisation se passe correctement) et le deuxième POST est le bon formulaire, mais il n'a aucun des changements que j'ai fait au formulaire (parce que le premier POST a réinitialisé le formulaire).
Vous dites que ce comportement étrange se produit sur certains des onglets. Est-ce toujours les mêmes onglets? Cela signifie que cela arrive sur certains onglets, mais cela n'arrive jamais sur d'autres onglets. Je me demande simplement si cela peut être dû au contenu des onglets (ou à la façon dont il est structuré). En outre, lorsque vous voyez deux messages rapides, les mêmes données sont-elles affichées ou s'agit-il de données provenant d'un autre onglet? Peut-être que quelque chose se cache. –
@D Hoerster - Mise à jour ... merci. – JasCav