11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous...

J'ai besoin de votre aide. Depuis deux jours que je recherche une solution à mon problème et toujours rien, la déprime arrive! !

Afin de remplir un formulaire j'utilise l'objet XMLHttpRequest qui envoi une requête au serveur et me renvoi une reponse XML. La réponse arrive sans problème, mais je n'arrive pas traiter cette réponse via DOM.

Soudainement des éléments <BR> et <b> apparaissent. Mais je n'arrive pas à accéder à certains éléments.
Mieux qu'un long discours :

Réponse XML :
<?xml version="1.0" encoding="iso-8859-1" ?> 
  <!DOCTYPE root (View Source for full doctype...)> 
- <root>
- <proposition>
  <login>tagadageo</login> 
  <mdp>tagadageo</mdp> 
  <mail id="thome">ta-gadageo@alsacreation.fr</mail> 
  <mail id="ad">ta-gadageo@alsacreation.fr</mail> 
  </proposition>
  </root>


Voici la fonction qui devait m'obtenir le login :
function readXml(xmlData){
	var proposition = xmlData.getElementsByTagName("proposition");
	for(var i=0; i < proposition.length; i++){
		var propo = proposition.item(i);
		var element = propo.getElementsByTagName("*");
		for(var j = 0; j < element.length; j++){
			nom = element.item(j).nodeName;
			valeur = element.item(j).firstChild.nodeValue;
			alert(nom+' : '+valeur);
			}
		}
	};


En vous remerciant par avance.
Modifié par TagadaGeo (20 Apr 2010 - 22:45)
Merci d'avoir porter attention à ma demande.

Je ne sais pas si sa va vous aidez, mais j'ai mis un exemple en ligne.
Je rapelle le but du "jeu" :

Lorsque l'utilisateur entre son non et son prénom (déclenché par onblur) les champs login mot de passe et adresse mail se remplissent automatiquement. dans la réalité on vérifie avec une base de données que le login soit disponible.

Dans l'exemple vous pouvez entrez votre nom et prénom et en jouant avec les caractéres (reqAjax.php) vous obtiendrez le login.

En esperant que cela vous aide. Mon gros problème est dans le parcours de l'arbre xml, je n'arrive pas à avoir les éléments.


Résultat de ma requête :
http://188.165.203.191/reqAjax.php?reqNomLogin=oui&&nom=Alsa&&prenom=Creation


Pour test : http://188.165.203.191/

Merci encore
Salut,

firstChild n'est pas une fonction mais une variable.

var element = racine.firstChild;



EDIT : en fait dans ton premier post il n'y a pas cette erreur mais dans le lien si (qui bug, erreur ligne 13...). Et getXMLHttpRequest est faux mais bon.
Par contre je sais pas comment tu fais pour avoir des balises br ou p qui n'existe Oo. J'ai un peu des doutes sur la réponse.
Modifié par jo_link_noir (16 Apr 2010 - 01:31)
Bonjour "jo_link_noir". Après une multitude de test, mon problème est résolue.

En effet en effectuant un alert sur xhr.responseText, j'ai pu voir que mes variables définit lors de l'envoi xhr.open n'était pas bon.

Ancien Code :
xhr.open("GET", "reqAjax.php reqNomLogin="+reqNomLogin+"nom="+nom+"prenom="+prenom, true);


Nouveau :
xhr.open("GET", "reqAjax.php?reqNomLogin="+reqNomLogin+"&&nom="+nom+"&&prenom="+prenom, true);


La différence se trouve dans l'ajout du symbole && entre les variables.

Les erreurs renvoyées par PHP inscrivaient alors des erreurs. Mon code XML n'était plus valie.

En vous remerciant tout deux de l'intêret que vous avez portez à mon problème.

Cordialement. Smiley ravi

PS : Comment puis-je Mettre ce topic en résolu?
Modifié par TagadaGeo (19 Apr 2010 - 10:14)