La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  Javascript / DOM / Ajax
(Modérateurs: Shain, Netah, Lilian, lauryv, ToToMaStEr)
  Ajax s'exécute plusieur fois :s
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Ajax s'exécute plusieur fois :s  (Lu 1898 fois)
Ajax s'exécute plusieur fois :s
« sur: le 05-01-2009 a 20:26:28 »
Un@m3d
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 14





Voir le Profil    E-Mail
Répondre avec citation

Bonjour tout le monde,

J'ai un petit soucis avec JQuery.

J'ai créer une page HTML contenant un titre "Mes informations" avec dedans un span "Modifier" et en dessous un liste d'informations.

Ma page HTML en gros :


Mes informations                                                    Modifier
--------------------------------------------------------------------------
Nom :         Mailleux
Prénom :      Robert
Sexe :         Homme
...


Maintenant quand je clique une première fois sur modifier, les informations nom, prénom, ... disparaissent, une barre de chargement apparaît et dès que JQuery a chargé le formulaire, celui-ci apparaît. Jusque là j'ai pas de problème.

Après lorsque je clique sur le bouton "enregistrer" de mon formulaire, j'ai de nouveau ma barre de chargement et dès que JQuery à enregistré mes modifications et m'a rechargé ma liste d'informations, il me l'affiche. Jusque là toujours pas de problème.

Mais maintenant, lorsque je clique une deuxième fois sur modifier (sans avoir rechargé la page), mon script JQuery s'exécute deux fois et me donne donc une erreur.

Mon code JS en gros :


function enregistreEditGenerales()
{
   var errors = '';
   
   $('#loadInformationsGenerales').ajaxStart(function()
   {
      $(this).css({"margin-top":"40px","display":"block"});
   });
   $('#loadInformationsGenerales').ajaxStop(function()
   {
      $(this).css({"display":"none"});
   });
   
   if($('#generalesNom').val() == '')
   {
      errors = '<li>Vous n\'avez pas renseigné votre nom.</li>';
   }
   if($('#generalesPrenom').val() == '')
   {
      errors = '<li>Vous n\'avez pas renseigné votre prénom.</li>';
   }
   
   var sexe = $('#generalesSexe').val();
   
   if(errors != '')
   {
      $('#profilInformationsGenerales form').before('<ul class="error">' + errors + '</li>');
   }
   else
   {
      $('#profilInformationsGenerales form').remove();
      $.post("./ajax/enregistreGenerales.php", { user_id: $('#user_id').text(), nom: nom, prenom: prenom, sexe: sexe }, function(form)
                  {
                     //$('#editInformationsGenerales').css("display","inline");
                     $('#profilInformationsGenerales dt').after(form);
                  });
   }
   
}

function afficheEditGenerales()
{
   $('#loadInformationsGenerales').ajaxStart(function()
   {
      $('#editInformationsGenerales').css("display","none");
      $(this).css({"margin-top":"40px","display":"block"});
   });
   $('#loadInformationsGenerales').ajaxStop(function()
   {
      $(this).css({"display":"none"});
   });
   
   $('#profilInformationsGenerales dd:not([id])').remove();
   
   $.post("./ajax/editGenerales.php", { user_id: $('#user_id').text() }, function(form)
                  {
                     $('#profilInformationsGenerales dt').after(form);
                     
                     $('#generalesSubmit').click(enregistreEditGenerales);
                  });
}

$(document).ready
(
   function()
   {
      $('#editInformationsGenerales').click(afficheEditGenerales);
   }
);


Voilà est-ce que quelqu'un à une idée sur mon problème ?

Merci

Rapporter au modérateur  

Re:Ajax s'exécute plusieur fois :s
« Répondre #1 sur: le 04-02-2009 a 17:33:02 »
compos
Membre récent
*

Hors-Ligne

Messages: 1





Voir le Profil
Répondre avec citation

Bonjour,

Pouvez poster le message d'erreur généré ?
Je ne suis pas expert en Ajax, mais peut-être que je pourrais vous donner une piste pour résoudre votre problème.

Cordialement.

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg