IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Precochage checkbox XSLT [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut Precochage checkbox XSLT
    Bonjour,
    J'ai fais pas mal de recherche et je ne comprends pas pourquoi ma syntaxe ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <input id="idOffer" name="offer" type="checkbox">           
                  <label for="idOffer">TV</label>              
                  <xsl:if test="$HAS_TV">
                    <label for="idOffer">TEST OK</label>
                    <xsl:attribute name="checked">checked</xsl:attribute>
                  </xsl:if>
                </input>
    Le test est OK puisque j'arrive à afficher mon libellé de test (TEST OK)
    En revanche, impossible de rendre la case précoché à l'affichage de la page

    Je ne trouve aucune solution à mon problème, quelqu'un pourrait-il m'aider svp ?

    J'ai aussi essayé ceci sans succès :
    <xsl:attribute name="checked">true</xsl:attribute>
    <xsl:attribute name="checked"/>


    En vous remerciant par avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    En HTML, <input> est un élément vide. Il ne contient ni <label>, ni rien. Il peut être précédé ou suivi, où que ce soit d'ailleurs, d'éléments <label> dont le for font référence à lui, par contre.

    En XSLT, les <xsl:attribute> doivent être directement après l'élément auquel ils s'appliquent. C'est-à-dire qu'il ne faut pas insérer de nœud texte, élément, enfin pas insérer de nœud, quoi, avant eux. Mais il reste possible de les placer dans un <xsl:if>, puisque cela n'insère pas de nœud en soi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    Merci pour la réponse
    J'ai essayé de transformer mon input en xsl:element input> mais cela ne marchait toujours pas

    J'ai fais ceci et çà corrige mon problème
    J'ai remonté mon test au-dessus afin de générer u input coché ou non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <xsl:choose>
                  <xsl:when test="$HAS_TV">
                    <input id="offer_filter_tv" name="offer_filter" checked="checked" type="checkbox" onclick="UpdateOfferList();">
                      <label for="offer_filter_tv">TV</label>
                    </input>
                  </xsl:when>
                  <xsl:otherwise>
                    <input id="offer_filter_tv" name="offer_filter" type="checkbox" onclick="UpdateOfferList();">
                      <label for="offer_filter_tv">TV</label>
                    </input>
                  </xsl:otherwise>
                </xsl:choose>

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    L'approche choose/when est assez bonne pour voir rapidement ce qui est généré dans quel cas.

    En revanche, ceci est très moche et je suis même surpris que ça passe en mode HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <input id="offer_filter_tv" name="offer_filter" type="checkbox" onclick="UpdateOfferList();">
      <label for="offer_filter_tv">TV</label>
    </input>
    
    Ce devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input id="offer_filter_tv" name="offer_filter" type="checkbox" onclick="UpdateOfferList();" />
    <label for="offer_filter_tv">TV</label>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    J'ai corrigé mon code pour le rendre plus propre

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Documentation][XSLT][XSLFO]Les balises xslfo
    Par Lydiane dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/08/2002, 11h31
  2. [XSLT] inclure du XSL dans une balise html
    Par iaa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2002, 15h57
  3. [XSLT]position d'un element de valeur specifique
    Par squat dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 25/07/2002, 16h42
  4. Couleur d'un CheckBox
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/07/2002, 14h48
  5. CheckBox en Read Only
    Par MrJéjé dans le forum C++Builder
    Réponses: 7
    Dernier message: 23/06/2002, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo