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 :

Afficher/cacher cases d'un formulaire


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut Afficher/cacher cases d'un formulaire
    Bonjour,
    J'ai besoin de faire apparaitre de nouvelles cases dans mon formulaire selon la sélection des précédentes.

    Par exemple j'ai ce input :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <td><B>Opened</B></td>
    <td><select name="opened">
    <option>false</option>
    <option>true</option>
    </select></td>
    Et si c'est "true" qui est choisi, en dessous, je veux afficher de nouveaux "input".Par contre, avant sélection, on ne voit pas ces "nouveaux" input et si "false" est coché, rien ne change.

    Comment dois-je faire ?

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Bonjour,

    Il faut pour cela créer une fonction javascript lancée avec un onchange sur ton select. Mais je dois dire que tu risques vraiment de t'embêter avec ce genre de situation car si tu rajoutes des champs à la volée, il faut aussi que tu réfléchisses bien à comment tu vas les récupérer/traiter coté serveur...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Alors, j'ai trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function visible(champs){
      var Obj = document.getElementById(champs);
      if (Obj.style.visibility == 'hidden')
        {Obj.style.visibility = 'visible';}
      else
        {Obj.style.visibility = 'hidden';}
    }
    Et après dans mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <tr>
                <td><B>aStocker</B></td>
                <td><select name="aStocker" onchange="visible('size1', 'xPath1','separator1','opened1','required1','readOnly1','aIndexer1','autoFilled1','baseMapping1','pTCMapping1','pTCMappingLevel1')">
                <option>false</option>
                <option>true</option>
            </select></td>
            </tr>
    Avec pour chacun :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr>
                <td><B>Size</B></td>
                <td><input type="text" name="size" value="" id="size1" style="visibility:hidden"  /></td>
            </tr>
    Ca me cache bien les champs (sauf le nom qu'il y a devant). Et quand je mets le "aStocker" à true, ça me rend visible seulement le "size" ; la suite n'apparait pas.

  4. #4
    Expert confirmé

    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
    Par défaut
    Il est normal que seul le champ size apparaisse étant donné que la fonction javascript ne s'exécute que pour un seul champ.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Donc je dois changer ma fonction ? Ou je peux la garder mais l'utiliser autrement ?

  6. #6
    Expert confirmé

    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
    Par défaut
    Tu pourrais plus simplement mettre tous les champs que tu veux cacher dans une balise div avec un style visibility:hidden comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="formulaire" style="visibility: hidden;">
    ...
    </div>
    Ensuite, tu modifies la fonction javascript visible comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function visible() 
    { 
      document.getElementById("formulaire").style.visibility="visible"; 
    }

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

Discussions similaires

  1. Afficher / cacher partie d'un formulaire
    Par bob633 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2010, 13h38
  2. afficher ou cacher des parties de formulaire
    Par DonKnacki dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/11/2007, 20h43
  3. afficher des champs d'un formulaire en selectionnant une case à cocher
    Par bozykely3 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/06/2007, 09h33
  4. Afficher/cacher un formulaire
    Par mrttlemonde dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/03/2006, 17h54
  5. Afficher / Cacher une partie d'un formulaire
    Par damjal dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/10/2005, 18h10

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