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 :

[Struts et javascript] Limiter le nombre de checkbox sélectionnées


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Points : 10
    Points
    10
    Par défaut [Struts et javascript] Limiter le nombre de checkbox sélectionnées
    Bonjour,
    J'ai une appli développée avec Struts. Un de mes formulaire contient une dizaine de checkbox, et je voudrais que l'utilisateur ne puisse en sélectionner que 4 (paramètre qui doit etre paramétrable par l'administrateur).

    Mon formulaire est contrôlé en javascript via le fichier validation.xml.

    J'ai cherché dans les différentes docs sur struts et javascript mais je n'ai pas trouvé le moyen pour limiter ce nombre de sélections.

    Je pensais créer un group de checkbox et spécifié dans validation.xml que, pour ce groupe, seulement 4 checkbox pouvaient être sélectionnées, mais je ne sais pas trop comment m'y prendre.

    Donc, si quelqu'un pouvait m'aider, ce serait sympa.

    Merci d'avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Points : 10
    Points
    10
    Par défaut
    Personne ne peut m'aider ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut
    euuuuuhhhhh....

    Si tu fais des multibox(groupe de checkbox) il te renvoie dans ton formulaire un tableau contenant la valeur des cases cochées....
    Donc si tu coches 4 cases tu as un tableau a 4 valeurs.........Et du coup tu test la longueur du tableau......

    je vois que ca pour t'aider

    Désolé

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Points : 10
    Points
    10
    Par défaut
    Salut, merci pour ton aide.
    Cependant, la solution que tu me proposes repose sur un test fait au niveau du traitement du formulaire et donc en java. Pour celà, il n'y a aucun souci, je peux très bien mettre un simple compteur (sans faire de multibox) et si mon compteur dépasse les 4 je retourne un message "d'erreur".

    Moi, ce que je souhaiterais, c'est de tester celà, dès le renseignement des champs ou pour faire plus simple à la validation par l'utilisateur du formulaire.
    J'ai déjà des controles qui sont définis dans le validation.xml, et je souhaiterais donc savoir si dans ces controles définit en XML il est possible d'agréger des checkbox et donne un argument du style "<maxvalue-selected>4</maxvalue-selected>"...

    en gros ça pourrait donner quelquechose comme ça dans mon validation.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <group-checkbox>
      <checkbox>
         <name>cb1</name>
      </checkbox>
      <checkbox>
         <name>cb2</name>
      </checkbox>
      <checkbox>
         <name>cb3</name>
      </checkbox>
      <checkbox>
         <name>cb4</name>
      </checkbox>
      <checkbox>
         <name>cb5</name>
      </checkbox> 
      <checkbox>
         <name>cb6</name>
      </checkbox>
      <checkbox>
         <name>cb7</name>
      </checkbox>
      <checkbox>
         <name>cb8</name>
      </checkbox>
      <checkbox>
         <name>cb9</name>
      </checkbox>
      <checkbox>
         <name>cb10</name>
      </checkbox>
      <var>
           <var-name> max-selected</var-name>
           <var-value>4</var-value>
      </var>
     
    </group-checkbox>

    Le problème est que je sais pas du tout si une telle chose (dans l'esprit) est possible, donc si quelqu'un qui connait bien les options de tels fichiers passe par là....

  5. #5
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Si ca ne te dérange pas de le faire en Java, tu peux implémenter la classe validate dans le Form pour valider justement ton formulaire.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Points : 10
    Points
    10
    Par défaut
    oui, je connais, simplement j'aurais bien aimer le faire à la validation sans passer par du java... ce que je veux faire est impossible ? Validation.xml ne permet de verifier que des trucs de base comme le maxlength, le required,... ?

    NB : merci pour ton aide

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Salut,
    Une solution pourait être de créer en javascript deux variables:

    var nombreSelectionMaximum (dont la valeur pourait venir de ton beanForm pour la garder paramétrable)
    var nombreSelection

    En rajoutant deux méthodes javascripts, servant à incrémenter/décrémenter le compteur nombreSelection tu devrais vite savoir ou tu en est.

    Par contre, lorsque tu arrives au nombre max de sélection, il faudra certainement prévoir d'automatiquement désélectionner la checkBox.

    J'espere avoir pu t'aider.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Points : 10
    Points
    10
    Par défaut
    oué c'est ce que j'ai actuellement, mais je pensais qu'il y avait un meilleur moyen de faire cela, sans passer par le serveur.

    merci quand même.

    PS : de quel beanForm parles-tu ?

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Je veut parler du beanForm (ou du java bean) qui est associé à ta jsp.
    Si dans ton formulaire tu rajoutes un attribut "nombreChekboxMax", tu pouras l'alimenter grâce à ton action.

    En sachant que dans l'action tu pouras aller chercher l'info ou tu veux, ça donne donc une propriété paramettrable.

    J'espère être assez clair ^^

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Points : 10
    Points
    10
    Par défaut
    ok, je vois ce que tu veux dire, je fais qqch de semblable. Merci pour ton aide.

    Par contre, un"expert" pourraitt-il me confirmer que ce que je souhaitais faire initialement est impossible ? (mettre ce controle dans validation.xml (même si à la sortie il n'y a pas une grande différence avec la solution actuelle puisque validation.xml génère du javascript)...

Discussions similaires

  1. Limiter le nombre de checkbox cochés
    Par aertys dans le forum VB.NET
    Réponses: 4
    Dernier message: 01/06/2013, 18h14
  2. Limiter le nombre de clic sur bouton en javascript
    Par hoangeric dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/07/2009, 13h33
  3. [XL-2003] Limitation du nombre de checkbox cliquées
    Par FFGUY dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 15/06/2009, 23h15
  4. Réponses: 2
    Dernier message: 07/12/2007, 14h35
  5. Fonction pour limiter le nombre de checkboxes cochees
    Par nabab dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/07/2007, 20h24

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