Petits problèmes avec javascript

Résolu/Fermé
dnt91 Messages postés 48 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 30 novembre 2007 - 9 août 2005 à 16:22
dnt91 Messages postés 48 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 30 novembre 2007 - 18 août 2005 à 10:33
Salut à tous, je dois avoir que je ne suis pas un spécialiste de javascript, ni des langages web en général, mais pourtant j'en ai bel et bien besoin.

J'ai un fichier xml contenant des serveurs et des sites de façon structurée, je le passe à la moulinette xslt et j'obtiens une vue sous forme d'arbre ds une page html, jusque là pas de souci.
Maintenant, je voudrais rajouter des boutons radio à côté de chaque sous site pour récupérer les attributs du site, à choisir parmi 3 (donc des radio button list) et là c'est le drame car tous les sites et sous sites ont le même id au niveau des radio button list.
Je ne vois pas comment je pourrais faire en sorte de l'incrémenter à chaque itérations de boucles, étant donné qu'il n'ya pas de variables en xslt mais que des constantes et je ne vois pas non plu comment récupérer le nom du serveur qui par exemple pourrait me servir de id pour les radio button list.

Voici une partie de mon code :
<xsl:for-each select="//server">
<a><xsl:attribute name="href">?servername=<xsl:value-of select="@name" disable-output-escaping="yes" /></xsl:attribute><xsl:value-of select="@name" disable-output-escaping="yes" /></a><br/>
<xsl:for-each select="site">
   * <xsl:value-of select="@name" disable-output-escaping="yes" /> -
<input id ="RadioList1_0" type = "radio" name="javascript:Set(i);" value="Lock" checked="checked"/>
<label for="RadioList1_0">Lock</label>
<input id ="RadioList1_1" type = "radio" name="javascript:Set(i);" value="NC"/>
<label for="RadioList1_1">NC</label>
<input id ="RadioList1_2" type = "radio" name="javascript:Set(i);" value="Nothing"/>
<label for="RadioList1_2">Nothing</label>

<br/>
<xsl:for-each select="web">
      **<xsl:value-of select="@name" disable-output-escaping="yes" /> - <br/>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
Merci à tous.

3 réponses

dnt91 Messages postés 48 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 30 novembre 2007 41
10 août 2005 à 10:31
Personne n'aurait une esquisse d'idée?
-1
Utilisateur anonyme
18 août 2005 à 09:47
Salut!

Pourquoi ne pas procéder comme tu le fais pour l'attribut 'name' en générant un ID via une fonction javascript?

;-)
HackTrack
-1
dnt91 Messages postés 48 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 30 novembre 2007 41
18 août 2005 à 10:33
En fait je l'ai fait directement en xslt en utilisant la fonction position (que je ne connaissant pas!!)
C'est beaucoup plus simple et ca me permet de ne pas forcément afficher toutes mes données du xml dans le source :
Voici un de mes templates, si ca peut aider quelques un d'entre vous:

<!--Catégorie : template, récupère la liste des serveurs-->
<xsl:template name = "GetServers">
<xsl:variable name="serverId"><xsl:value-of select="position()" /></xsl:variable>
<img src="../images/treeview/server.gif"/><a><xsl:attribute name="href">?servername=<xsl:value-of select="@name" disable-output-escaping="yes" /></xsl:attribute><xsl:value-of select="@name" disable-output-escaping="yes" /></a> - <br/>
<input type = "radio" value="Lock"><xsl:attribute name="name"><xsl:value-of select="$serverId" /></xsl:attribute><xsl:attribute name="id"><xsl:value-of select="$serverId" />_a1</xsl:attribute></input>
<label for="a1">Lock</label>
<input type = "radio" value="NC"><xsl:attribute name="name"><xsl:value-of select="$serverId" /></xsl:attribute><xsl:attribute name="id"><xsl:value-of select="$serverId" />_a2</xsl:attribute></input>
<label for="a2">NC</label>
<input type = "radio" value="Nothing" checked="checked"><xsl:attribute name="name"><xsl:value-of select="$serverId" /></xsl:attribute><xsl:attribute name="id"><xsl:value-of select="$serverId" />_a3</xsl:attribute></input>
<label for="a3">Nothing</label>
<br/>
</xsl:template>
-1