XSL et accès aux objets dynamiquement créés avec Javascript

Résolu
ekinox001 Messages postés 5 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 28 novembre 2009 - 22 nov. 2009 à 02:29
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 22 nov. 2009 à 11:00
Bonjour à tous,

Auriez-vous une solution pour pouvoir accéder (en javascript) à des objets dynamiquements créés par une feuille XSL?

l'objectif est de pouvoir manipuler les éléments dans la fonction job(), le souci est que je ne connais pas le nom de l'objet <select>...

Est-il possible de compléter dynamiquement le paramètre name de l'objet select en fonction des données contenues dans la source xml?

<xsl:for-each select="Object">
<select size="5" name= "liste" STYLE ="width: 160px" onchange="job(this)">
<option><xsl:value-of select="Name"/></option>
</select>
</xsl:for-each>


D'avance merci pour votre attention :)

4 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
22 nov. 2009 à 10:30
mettez le même name.
et utilisez document.name_formulaire.name_select[index]
voire
for ( var n= 0;n<document. name_formulaire .name_select.length;n++ )
{ traiter document.name_formulaire.name_select[n]

ou mettez un id progressif
id ="select1", id="select2"....
et utilisez document.getElementById("select"+index)
voire
var n=1;
while ( document.getElementById("select"+n) )
{ traiter document.getElementById("select"+n)
}
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
22 nov. 2009 à 11:00
ch'tiot exemple ? ( sans xml/xsl ! )
<script>
function trt(quoi)
{	for ( var n=0;n<document.frm.sel.length;n++ )
{	if ( quoi!=document.frm.sel[n] )
{	alert(n);	}
}
}
</script>
<form  name="frm">
<select name="sel" onchange="trt(this);" size="3">
<option>1
<option>2
</select>
<select name="sel" onchange="trt(this);" size="3">
<option>I
<option>II
</select>
<select name="sel" onchange="trt(this);" size="3">
<option>un
<option>deux
</select>
</form>

3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
22 nov. 2009 à 08:53
Bonjour,
>>Est-il possible de compléter dynamiquement
>>le paramètre name de l'objet select en
>>fonction des données contenues dans la source xml?
peut-être... mais quelles données ?
et surtout : pourquoi faire ?????
derrière pour utiliser comment faire
si on ne connait pas le name ?
>>
...onchange="job(this);">

ben voila, un name est inutile
function joc(quoi)
{ et ici quoi.selectedIndex, 
quoi.options[quoi.selectedIndex] .value ou .text
quoi.length.... tout du select est accessible
}

Cordialement [mon Site] [M'écrire] Bul
0
ekinox001 Messages postés 5 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 28 novembre 2009
22 nov. 2009 à 10:14
Hello Bul, merci de t'intéresser à mon problème.

Immaginons que le fichier xml comporte 5 nodes <Objet> et que nous ajoutions un for-each à l'intérieur de la première boucle for-each afin de créer des options dans les différentes listes.

pour chacun des select, la fonction Job fonctionnera car elle sera appelée depuis son constructeur et nous pouvons effectivement travailler avec this.
Mais si je veux atteindre les autres listes (par exemple pour annuler toutes les sélections sauf sur dernièrement choisie)????

Merci
0
Rejoignez-nous