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

JavaScript Discussion :

Struts et checkBox


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Struts et checkBox
    Bonjour tout le monde,

    J'arrive à faire certaines choses avec des boutons radios que je n'arrive pas à faire avec des checkBox:

    J'aimerais que quand je coche une checkBox spécifique, une partie de formulaire s'affiche, et qu'elle s'efface lorsque je la décoche. Ca ne marche pas.

    Voici les bouts de code concerné:

    Fonction Javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function Insert0rRemove(d){
    	if(document.forms[0].cheminTravail.checked){
    		document.getElementById(d).style.display = "";
    	}else{
    		document.getElementById(d).style.display = "none";
    	}
    }
    La checkBox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:checkbox property="cheminTravail" value="cheminTravail" onclick="javascript:InsertOrRemove('procesVerbal')">Accident sur le chemin du travail</html:checkbox>
    Le champs entre <div> à afficher/désafficher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="procesVerbal" style="display: none;">
    	Ca marche!
    </div>
    Pouvez-vous m'aider?

    Merci d'avance!!!

    Sujet déplacé vers le forum Javascript par Ricky81

  2. #2
    Membre régulier Avatar de Resyek
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Juste sans avoir vraiment réfléchi...
    As tu pensé à l'utilisateur qui se servirait du clavier pour parcourir ton formulaire ? Tu l'ignores peut être, mais on peut cocher une checkbox en appuyant sur "espace" quand le focus est dessus...

    Et dans ce cas, l'événement "onClick" ne sera jamais déclenché.

    Je pense que tu devrais trouver autre chose... Peut être passer par une listbox, avec événement onchange.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je pense que les utilisateurs du programme ne sont pas assez "doués" pour connaître ce genre de subtilité

    Et je l'ignorais aussi, d'ailleurs. Je demanderai éventuellement à celui qui visualise mon projet son avis à ce sujet.

    Mais le fait que ceci ne fonctionne pas me laisse quand même un goût amer; je vois pas du tout où cela bloque.

    Merci pour ta remarque

  4. #4
    Membre régulier Avatar de Resyek
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Je suis en train de tester chez moi, pour voir :-)

    En attendant, tu peux simplement te servir de ta checkbox sans te préoccuper de "checked" (je me demande si ça ne serait pas ça qui pose problème).

    Avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function Insert0rRemove(d){ 
       if(document.getElementById(d).style.display == "none"){ 
          document.getElementById(d).style.display = "block";
       }else{ 
          document.getElementById(d).style.display = "none"; 
       } 
    }
    Okay, c'est toujours pas ce que tu voulais, je sais

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    En fait, le checked marche pour les boutons radios, car la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function Horaire(){
    	if(document.forms[0].equipe[0].checked==true)
    s'applique à un bouton radio et marche nickel.

    Ces 2 fonctions fonctionnent partout, même sur mes checkBox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function RemoveContent(d) {
    	document.getElementById(d).style.display = "none";
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function InsertContent(d) {
    	document.getElementById(d).style.display = "";
    }
    Donc, comme tu le dis, l'erreur vient surement de mon if de base, qui comprend pas le checked.... Pourtant, j'ai été sur plusieurs sites et le checked était d'application pour les checkBox (CHECKbox, ça veut bien dire ce que ça veut dire )

    Pour info, quand je clique sur la case concernée, j'ai un message dans le bas d'IE: Errors on page. Mais bon, je suppose que c'est normal.

  6. #6
    Membre régulier Avatar de Resyek
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Pfiou, j'ai passé un peu de temps à chercher, mais sans succès... J'ai l'impression qu'il n'arrive pas à identifier l'attribut checked...

    J'ai essayé en utiliser cheminTravail[0], me disant qu'il considérait les checkbox comme une liste, mais non.

    Je n'ai pas testé, mais tu auras peut être plus de succès en passant en paramètre à la fois l'état de ton checkbox et l'élément à afficher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="insertRemove(this.form.cheminTravail.checked, 'procesVerbal')"

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Oki, je vais essayer de cette manière alors, je te dirai si j'ai eu plus de succès comme cela.

    Je te remercie en tout cas pour le temps passé à me filer un coup de main!!!

  8. #8
    Membre régulier Avatar de Resyek
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Si tu trouves une solution qui fonctionne, ça serait cool de la poster ici :-)

Discussions similaires

  1. [Struts-Layout] checkbox & collection
    Par vny dans le forum Struts 1
    Réponses: 9
    Dernier message: 08/06/2007, 11h42
  2. [struts] [debutant] checkbox
    Par sleepy2002 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/07/2004, 09h48
  3. [struts] satanée checkbox...
    Par k4eve dans le forum Struts 1
    Réponses: 6
    Dernier message: 19/05/2004, 07h51
  4. [struts] mémorisation d'une checkbox avec cookie
    Par rocco dans le forum Struts 1
    Réponses: 3
    Dernier message: 22/04/2004, 12h39
  5. [STRUTS]Pb de checkbox
    Par larude dans le forum Struts 1
    Réponses: 8
    Dernier message: 08/04/2004, 16h07

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