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

Struts 1 Java Discussion :

comment "disabled" des checkbox en fonction d'un parametre dans l'url


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut comment "disabled" des checkbox en fonction d'un parametre dans l'url
    Bonjour,
    Je veux griser (rendre disabled) des checkbox, si j'ai un paramètre spécial dans mon url.
    Concrètement je voudrais que les checkbox soit "normaux" quand l'url est http://xxx/LoadDonnees.do et qu'ils soient grisés(disabled) quand
    quand l'url est http://xxx/LoadDonnees.do?idDonnées=toto
    sachant que mes balises sont du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:checkbox name="nom" property="prop" disabled="true">
    En gros je voudrais faire passé dynamiquement à true ou false le paramètre disabled en fonction de l'url.

    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut trouvé!
    re-bonjour, j'ai finalement trouvé ce qui n'allait pas dans mon bout de code, c'était juste un problème de type et de guillemet, voilà donc ma soluce pour ceux que ça interresse:

    Dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%
    String qst = request.getQueryString() ;
    boolean grise;
    if( qst != null ) 
    {grise=true;}
    else
    {grise=false;}
    %>
    <html:checkbox name="nom" property="prop1" disabled="<%= grise %>"> prop1 </html:checkbox>  
    <br />
    <html:checkbox name="nom" property="prop2" disabled="<%= grise %>"> prop2 </html:checkbox>  
    <br />

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tu peux tester la valeur du paramètre via le tag logic:equal comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <logic:equal parameter="idDonnees" value="toto">
        <html:checkbox name="nom" property="prop" disabled="true">
           ...
        </html:checkbox>
    </logic:equal>
    <logic:notEqual parameter="idDonnees" value="toto">
        <html:checkbox name="nom" property="prop" disabled="false">
           ...
        </html:checkbox>
    </logic:notEqual>
    Sinon, tu peux utiliser le tag c:choose de la JSTL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <c:choose> 
    	<c:when test="${param['idDonnees'] eq 'toto'}"> 
    		<c:set var="disabled" value="true"/>
    	</c:when> 
    	<c:otherwise> 
    		<c:set var="disabled" value="false"/>
    	</c:otherwise> 
    </c:choose>
    <html:checkbox name="nom" property="prop" disabled="${disabled}">
         ...
    </html:checkbox>
    Ah, j'oubliais.
    Si tu es en J2EE 1.3, il faut utiliser struts-html-el.tld :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html-el:checkbox name="nom" property="prop" disabled="${disabled}">
         ...
    </html-el:checkbox>

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Citation Envoyé par Jojo K-ri
    re-bonjour, j'ai finalement trouvé ce qui n'allait pas dans mon bout de code, c'était juste un problème de type et de guillemet, voilà donc ma soluce pour ceux que ça interresse:

    Dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%
    String qst = request.getQueryString() ;
    boolean grise;
    if( qst != null ) 
    {grise=true;}
    else
    {grise=false;}
    %>
    <html:checkbox name="nom" property="prop1" disabled="<%= grise %>"> prop1 </html:checkbox>  
    <br />
    <html:checkbox name="nom" property="prop2" disabled="<%= grise %>"> prop2 </html:checkbox>  
    <br />
    Je viens de découvrir ta solution.
    La mienne est sans scriptlet.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut
    Effectivement la tienne est plus jolie, en tout cas plus dans les normes..
    En tout cas merci beaucoup, je pense que ces balises-là vont m'être très utiles à l'avenir!

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

Discussions similaires

  1. [Tableaux] Comment indexe-t-on des checkbox?
    Par shinryu69 dans le forum Langage
    Réponses: 2
    Dernier message: 18/11/2006, 21h43
  2. [MySQL] Précocher des checkbox en fonction de la BDD ?
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/03/2006, 10h22

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