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 :

Afficher des champs cachés dans un for each


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut Afficher des champs cachés dans un for each
    Bonjour

    J'ai un formulaire avec des checkbox qui si elles sont cochées me permettent d'afficher des champs cachés .
    Ce formulaire est affiché par un for each php. Sur le premier formulaire généré pas de soucis les checkbox sont effectives, mais à partir du deuxième l'affichage ne se fait plus.
    Un truc avec la boucle for each surement, mais mes pauvres compétences ne me permettent pas de voir la solution.
    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
    function it(test1){
        if (document.getElementById("persitv" ).checked == true) {
            document.getElementById('nom').style.visibility="visible";
        }
        if (document.getElementById("persitv" ).checked == false) {
            document.getElementById("autre");
            document.getElementById('nom').style.visibility="hidden";
        }
    }
    function pl(test1){
        if (document.getElementById("aero" ).checked == true) {
            document.getElementById('plane').style.visibility="visible";
        }
        if (document.getElementById("aero" ).checked == false) {
            document.getElementById("autre");
            document.getElementById('plane').style.visibility="hidden";
        }
    }
    Code php : 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
    39
    40
    41
    42
    43
     <? foreach ($carteglobal as $carte=> $id)  :
        $sqltourange="SELECT* FROM tournage where carte='$carte'";
        $result= mysql_query($sqltourange) or die(("erreur recup fiche".mysql_error()));
        while ($listfiche=mysql_fetch_array($result)){
            $titrerush=$listfiche['titre'];
            $client=$listfiche['client'];
        }
    ?>
    <div class="controls controls-row">
        <span class="span8 titre">Quelques précisions</span>
        <span class="span8 titre"><input type="checkbox" name="itw" id="persitv" onClick='it (this.checked)' style="width:20px; height:20px;" >question1?
        </span>
        <!--champ caché pour nom personne-->
        <font style='visibility: hidden' id='nom'>
            <span class="span8">Noms des personnes interviewées</span>
            <input name='itv1[]' class='span2' id='newc1'/>
            <input name='itv2[]' class='span2' id='newc2'/>
            <input name='itv3[]' class='span2' id='newc3' />
            <input name='itv4[]' class='span2' id='newc3' />
        </font>
        <span class="span10 titre">
            <input type="checkbox" name="avion[]"  id="aero" onClick='pl (this.checked)' style="width:20px; height:20px;">question2 ?</span>
            <!--champ caché  -->
        <font style='visibility: hidden' id='plane'>
            <span class="span12">num avion</span>
            <select class="span2" name="avion1[]">
                <option  valaue=""></option>
                <option  valaue="1">1</option>
                <option  value="2">2</option>
                <option  value="3">3</option>
                <option  value="4">4</option>
                <option  value="5">5</option>
            </select>
            <select name="avion2[]" class="span2">
                <option  valaue=""></option>
                <option valaue="1">1</option>
                <option valaue="2">2</option>
                <option valaue="3">3</option>
                <option valaue="4">4</option>
                <option valaue="5">5</option>
            </select>
        </font>
    </div>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if (document.getElementById("persitv" ).checked == false) {
                        document.getElementById("autre");  // <= ???? ça fait quoi là ça tout seul ???
                        document.getElementById('nom').style.visibility="hidden";
    Ce formulaire est affiché par un for each php.
    un id doit être unique sur la page
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    j'ai donc modifié comme ceci mais cela ne s'affiche pas
    Code php : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
    $sqlselctcadr = "SELECT * FROM tournage WHERE temp='$identifiant'";
    $resultid = mysql_query($sqlselctcadr) or (die("erreur recherche adreur par identifiant" . mysql_error()));
    $count = mysql_num_rows($resultid);
    while ($listfiche = mysql_fetch_array($resultid)):
        $i++;
        $idtournage = $listfiche['id_tournage'];
        $carte = $listfiche['carte'];
        $titrerush = $listfiche['titre'];
        $client = $listfiche['client'];
        $producteur = $listfiche['prod'];
        $realisateur = $listfiche['realisateur'];
        $format = $listfiche['format'];
        $contact=$listfiche['contact'];
        $nbre = $listfiche['nbre_cartes'];
        $ncarte++;
    ?>
    <script type="text/javascript">
    function it(test1){
        if (document.getElementById("persitv[<?php echo $idtournage ?>]" ).checked == true) {
            document.getElementById('nom').style.visibility="visible";
        }
        if (document.getElementById("persitv[<?php echo $idtournage ?>]" ).checked == false) {
            document.getElementById('nom').style.visibility="hidden";
        }
    }
    </script>
     
    <div class="bloc-intranet">
        <div class="controls controls-row">
            <span class="titre titre-principal green pull-left"></span> (N°<?php echo $ncarte . "/" . $count ?>)
            <input type="hidden" name="idtournage[]" value="<?php echo $idtournage ?>"/>
        </div>
        <hr/>
        <div class="controls controls-row">
            <span class="span8 titre">
                <input type="checkbox" name="itw[]" id="persitv[<?php echo $idtournage ?>]" onClick='it (this.checked)' style="width:20px; height:20px;" > s'agit-il d'une interview?
            </span>
            <!--champ caché pour nom personne interviewé-->
            <font style='visibility: hidden' id='nom[<?php echo $idtournage ?>]'>
                <span class="span8">Noms des personnes interviewées</span>
                <input name='itv1[]' class='span2' id='newc1'/>
                <input name='itv2[]' class='span2' id='newc2'/>
                <input name='itv3[]' class='span2' id='newc3' />
                <input name='itv4[]' class='span2' id='newc3' />
            </font>
        </div>

  4. #4
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    j'ai modifié comme ceci et tout est rentré dans l'ordre
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="controls controls-row">
        <span class="span8 titre">
            <input type="checkbox" name="itw[]"  onClick="if(document.getElementById('nom_<?php echo $idtournage ?>').style.visibility == 'hidden'){document.getElementById('nom_<?php echo $idtournage ?>').style.visibility = '';}
            else{document.getElementById('nom_<?php echo $idtournage ?>').style.visibility = 'hidden';}" style="width:20px; height:20px;" /> s'agit-il d'une interview?
        </span>
        <!--champ caché pour nom personne interviewé-->
        <font style='visibility: hidden' id='nom_<?php echo $idtournage ?>'/>

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/03/2014, 21h28
  2. associer les champs dans un for each
    Par rvm31 dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2012, 20h53
  3. [Dojo] Afficher des champs dynamiques dans un grid
    Par DevBetty dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 27/10/2009, 10h50
  4. Réponses: 27
    Dernier message: 12/04/2007, 10h23
  5. Réponses: 7
    Dernier message: 09/02/2006, 16h51

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