Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 00h04   #1
Invité régulier
 
Inscription : septembre 2009
Messages : 41
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 41
Points : 6
Points : 6
Par défaut XMLHttpRequest : Problème persistance de donnée.

Bonsoir,

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

Code :
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 ?
Rapheux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 06h30   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 139
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 139
Points : 7 276
Points : 7 276
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+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 09h29   #3
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
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.
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 18h02   #4
Invité régulier
 
Inscription : septembre 2009
Messages : 41
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 41
Points : 6
Points : 6
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 :
<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 :
<button onclick="Add_product()">Enregistrer un nouveau produit</button>
Pareil !

Troisième cas (qui fonctionne) :

Code :
<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
Rapheux est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h25.


 
 
 
 
Partenaires

Hébergement Web