IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] actualisation d'un formulaire avec les nouvelles données aprés validation


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut [AJAX] actualisation d'un formulaire avec les nouvelles données aprés validation
    Bonjour,

    Voila mon soucis, j'ai un formulaire(en include)qui me permet d'afficher les infos de chaque fiche. ce formulaire est donc pré-rempli avec les infos de la bdd.
    on peut activé ce formulaire pour le modifié et ainsi pouvoir enregistrer les nouvelles infos.
    je voudrais donc, une fois que la validation a été faite, actualisé ce formulaire, avec les nouvelles données qui viennent juste d'être insérées.

    pour info, le pre-remplissage pour affichage du formulaire, ce fait grâce a une requête php.

    comment faire pour, qu'une fois que mon formulaire est validé pour mise a jour(validation ajax), je puisse en quelque sorte, réactualiser le script pour re-exécute la requête php ?

    merci

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Un morceau du code (js) de ta fonction ajax qui envoie les données pour validation ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut
    voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    // fonction utilisée pour tout les formulaires
    function valideFormulaire(monFormulaire) {
      var xhr = getXMLHttpRequest();
      var retour = "";
     
      if(xhr && xhr.readyState != 0) {
        xhr.abort(); 
      }
      //on vérifie les formulaires (champs vide)
      if (monFormulaire == 'formInsertionEtape1'){
    	  retour = verifFormulaire(monFormulaire,23);
      }else if (monFormulaire == 'formInsertionEtape2'){
    	  retour = verifFormulaire(monFormulaire,26);
      }else if (monFormulaire == 'formMaj'){
    	  retour = verifFormulaire(monFormulaire,54);
      }
      if (retour != "ko"){		  
    	  xhr.onreadystatechange = function() { 
    			//alert (xhr.readyState+"-"+xhr.status);
    			if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    				 //alert("retour : " + retour)
    				 resultatValidation(xhr.responseText);
    			}
    		}
    	}
      xhr.open("POST", "include/validations_formulaires.php", true);
      xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      xhr.send("form="+ monFormulaire + "&" + retour);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    function resultatValidation(sData) {
    //alert (sData);
    	if (sData == 'formEtape1OK'){
    		document.getElementById('formInsertionEtape1').style.display = 'none';
    		document.getElementById('formInsertionEtape2').style.display = 'block';
    	}else if (sData == 'formEtape2OK'){
    		document.getElementById('formInsertionEtape1').style.display = 'none';
    		document.getElementById('formInsertionEtape2').style.display = 'none';
    		setTimeout("window.location='index.php?action=accueil'",120);
    	}else if (sData == 'formMajOK'){
    		alert("Maj effectuée");
    //ici, je voudrais recharger le formulaire
     
    	}
    }
    je suis débutant en ajax, alors si vous avez des critiques, n'hésitez pas ^^

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    La logique et la construction de l'ensemble sont ok, mais je ne comprends pas ce que tu veux "mettre à jour"... les données que tu envoies à ta BDD sont déjà connues au niveau client et n'ont pas besoin d'être "récupérées"... si ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut
    exemple de procédure

    j'affiche ma fiche 12
    le champ nom est a "toto"
    j'active ma fiche 12
    je modifie le champs nom en "tata"
    je valide
    les données sont mises a jour dans la bdd, et mon formulaire s'affiche avec "tata" et non plus "toto"

  6. #6
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Si l'utilisateur vient de modifier le champ du formulaire qu'il a sous les yeux de "toto" en "tata", pourquoi le remodifier ? Il est déjà "juste", non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecraser un fichier texte avec les nouvelles données
    Par Dendrite dans le forum VB.NET
    Réponses: 15
    Dernier message: 21/08/2010, 07h49
  2. Réponses: 19
    Dernier message: 20/03/2010, 14h27
  3. Réponses: 0
    Dernier message: 07/07/2009, 13h16
  4. Rappeler le formulaire avec les mêmes données.
    Par macben dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/06/2008, 18h09
  5. Réponses: 2
    Dernier message: 12/05/2008, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo