VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Petits problèmes avec javascript [Résolu]

dnt91 47Messages postés 1 août 2005Date d'inscription - Dernière réponse le 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.
Lire la suite 

Petits problèmes avec javascript »

Suggestions
3 réponses
Réponse
-1
moins plus
Personne n'aurait une esquisse d'idée?
Ajouter un commentaire
Réponse
-1
moins plus
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
Ajouter un commentaire
Réponse
-1
moins plus
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>
Ajouter un commentaire
Ce document intitulé « petits problèmes avec javascript » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?