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] XMLHttpRequest : persistance de donnée.


Sujet :

AJAX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Par défaut [AJAX] XMLHttpRequest : persistance de donnée.
    Bonsoir,

    J'ai un petit problème de persistance de donnée dans l'execution de ma requête.

    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
     
    function Add_product() 
    {
    	var param1=document.getElementById('idarticle').value;
    	var param2=document.getElementById('nserie').value;
    	var param3=document.getElementById('origine').value;
    	var param4=document.getElementById('Emballage').value;
    	var param5=document.getElementById('Materiel').value;
    	var param6=document.getElementById('Accessoire').value;
    	var param7=document.getElementById('Dreception').value;
    	var product = "idarticle="+param1+"&";
    		product+="nserie="+param2+"&";
    		product+="origine"+param3+"&";
    		product+="Emballage"+param4+"&";
    		product+="Materiel"+param5+"&";
    		product+="Accessoire"+param6+"&";
    		product+="Dreception"+param7;
    	xhr = new XMLHttpRequest();
    	xhr.onreadystatechange = function() 
    		{	
    			if(xhr.readyState==4 && xhr.status==200)
    			{	
    				var response_test =  xhr.responseText;
    				document.getElementById('test').value =response_test;
    			}
    		}
    	xhr.open("POST",'Add_product.php',true);
    	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    	xhr.send(product);
    }
    Ma requête s’exécute bien, car je vois dans ma inputbox, le résultat s'afficher une fraction de seconde. Puis, ma box s'efface. Quelqu'un aurait il une idée ?

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Citation Envoyé par Rapheux Voir le message
    Ma requête s’exécute bien, car je vois dans ma inputbox, le résultat s'afficher une fraction de seconde. Puis, ma box s'efface. Quelqu'un aurait il une idée ?
    Ton code JS est correcte, mais peut on voir son rapport avec ton input?

    A+.

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    Bonjour,

    Si je comprends bien, ta zone input est bien revalorisée par la réception du résultat attendu.
    Or, après cela, cette zone s'efface.

    Pour t'aider, il faudrait voir ton JS si tu n'as pas un refresh qui traîne de cette zone input , voir si tu n'as pas un bout de code php qui embête un peu...

    Donc logs à voir.

    Ensuite, tu peux tout à fait, de manière simple, lancer une console "inspecter l'élément" dans chrome, et vérifier le contenu reçu de ton formulaire.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Par défaut
    Bonsoir,

    Merci pour vos réponses. J'ai réussit à résoudre mon problème sans comprendre pourquoi. Peut être pourrais vous m'aider.

    Premier cas qui présenter le problème :

    Dans mon formulaire, j'avais ceci pour lancer ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="Add_product()" >Enregistrer un nouveau produit</a>
    Mon ready state donné ceci : 1 > 2 > 3 > 4 > 1 : Pourquoi revenir au 1 ?

    Deuxième cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button onclick="Add_product()">Enregistrer un nouveau produit</button>
    Pareil !

    Troisième cas (qui fonctionne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="Add_product()" value="Enregistrer un nouveau produit" />

    En changeant, mon bouton, j'ai réussit à conserver la persistance de mes info. Si quelqu'un sait pourquoi, je lui serait reconnaissant.

    Cordialement,
    Rapheux

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/09/2009, 00h10
  2. [AJAX] Récupération tronquée de donnée binaire via XMLHttpRequest
    Par Christophe Charron dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/06/2006, 18h21
  3. [AJAX] AJAX et envoie de données d'un formulaire
    Par gunderam dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2006, 18h17
  4. Persistance des données en mémoire
    Par giviz dans le forum Architecture
    Réponses: 13
    Dernier message: 21/12/2004, 09h44
  5. [Strategie]persistance des données
    Par altropus dans le forum Persistance des données
    Réponses: 6
    Dernier message: 04/11/2004, 04h36

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