Bonjour à tous,
Je débute en Javascript et j'ai pondu un petit script qui fais exactement ce que je veux, à savoir récupérer le texte contenu dans certaines balises d'un XML (que je génère via une requête AJAX), le seul hic : j'aimerais que ça devienne un peu plus dynamique. Je m'explique :
J'ai un input Nom qui déclenche une auto suggestion, si je commence à taper "alsa", un fichier xml de ce type est généré :
L'idée c'est qu'une fois un nom choisis via l'auto suggestion, mes autres input (prénom, adresse etc...) s'auto-completent, donc en parallèle il faut récupérer les données de ce .xml.
Pour récupérer par exemple la valeurs des prénoms je fais ça :
En résumé tout ça marche très bien mais je me retrouve avec un code très long car autant de script que d'input (prénom, adresse, ville etc)
Et surtout gros soucis si le xml me renvoi un input que je n'ai pas pris en considération : age par exemple !
Je cherche donc à analyser mon .xml et à générer à chaque balise trouvé un input.
Exemple : il cherche dans entry les balises, si il trouve une balise il prend son nom ==> Prénom, il crée un input "id=input_prenom" etc
De cette façon je pourrait analyser tout type de .xml, et surtout gagner en ligne de code !
J'ai testé un $(xmlDoc).find('entry').children.each(function() mais ça me retourne tous les champs.
D'avance merci pour votre aide j'en ai bien besoin
Je débute en Javascript et j'ai pondu un petit script qui fais exactement ce que je veux, à savoir récupérer le texte contenu dans certaines balises d'un XML (que je génère via une requête AJAX), le seul hic : j'aimerais que ça devienne un peu plus dynamique. Je m'explique :
J'ai un input Nom qui déclenche une auto suggestion, si je commence à taper "alsa", un fichier xml de ce type est généré :
<ajax-response>
<response id="_updater" type="object">
<matches>
<entry>
<Nom>alsacrea site</Nom>
<Prenom>site</Prenom>
<Adresse>forum</Adresse>
<Codepostale>javascript</Codepostale>
<Ville class="obligatoire">paris</Ville>
<Telephone>0178457845</Telephone>
<Email>inconnu</Email>
</entry>
<entry>
<Nom>alsacreation site</Nom>
<Prenom>site</Prenom>
<Adresse>inconnu</Adresse>
<Codepostale>idem</Codepostale>
<Ville class="obligatoire">ici</Ville>
<Telephone>014578451245</Telephone>
<Email>topsecret</Email>
</entry>
</matches>
</response>
</ajax-response>
L'idée c'est qu'une fois un nom choisis via l'auto suggestion, mes autres input (prénom, adresse etc...) s'auto-completent, donc en parallèle il faut récupérer les données de ce .xml.
Pour récupérer par exemple la valeurs des prénoms je fais ça :
var i_prenom=0;
var tableau_prenom = new Array();
$(xmlDoc).find('Prenom').each(function() {
i_prenom = i_prenom+1;
tableau_prenom[i_prenom] = $(this).text();
//on affiche dans l'input du prénom le text correspodant au moment d'un clic sur une div
$('#div_affichage_des_autres_input').click(function() {
$('#input_prenom').val(tableau_prenom[elements]);
//je précise que la variable elements retourne le numéro de la ligne que j'ai cliqué dans l'auto suggestion, donc si je prends la ligne 2, elements=2 donc j'aurais bien le prenom numéro 2 de l'xml correspondant
});
});
En résumé tout ça marche très bien mais je me retrouve avec un code très long car autant de script que d'input (prénom, adresse, ville etc)
Et surtout gros soucis si le xml me renvoi un input que je n'ai pas pris en considération : age par exemple !
Je cherche donc à analyser mon .xml et à générer à chaque balise trouvé un input.
Exemple : il cherche dans entry les balises, si il trouve une balise il prend son nom ==> Prénom, il crée un input "id=input_prenom" etc
De cette façon je pourrait analyser tout type de .xml, et surtout gagner en ligne de code !
J'ai testé un $(xmlDoc).find('entry').children.each(function() mais ça me retourne tous les champs.
D'avance merci pour votre aide j'en ai bien besoin

