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 :

Lister les select d'un formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut Lister les select d'un formulaire
    Bonjour,

    Je génère par PHP des 'Select' en fonction d'un choix à partir d'une ComboBox.

    Le nombre de 'Select' est donc différent selon le choix...

    Ma question est comment je peux faire en Javascript pour récuperer les noms de mes 'Select' pour pouvoir contrôler qu'un choix à été fait.

    Mon code:
    Code HTML : 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    <form name="Fill">
    		<table class="table table-striped">
    				<thead>
    					<tr>
    						<th>Chronologie</th>
    						<th>Désignation</th>
    						<th>Unité</th>
    						<th>Moyen de contrôle</th>
    						<th>Valeur de référence</th>
    						<th>Valeur</th>
    					</tr>
    				</thead>
    				<tbody>
    				<?php
                                            if($Ligne=="Cette valeur"){
                                                    $filename = 'txt/Monfichier1.txt';
                                                    $ligne= file($filename);
                                                    $nbTotalLignes=count($ligne);
                                                    $tab = array();
                                                    for($i=0;$i<$nbTotalLignes;$i++){$ligneTab[] = explode(";", $ligne[$i]);}
                                                    
                                                    for($j=0;$j<sizeof($ligneTab);$j++){
                                                            echo '<tr>
                                                                            <td>'.$ligneTab[$j][0].'</td>
                                                                            <td>'.$ligneTab[$j][1].'</td>
                                                                            <td>'.$ligneTab[$j][2].'</td>
                                                                            <td>'.$ligneTab[$j][3].'</td>
                                                                            <td>'.$ligneTab[$j][4].'</td>
                                                                            <td><select name="Choix'.$j.'" class="form-control">
                                                                                    <option value="Choix">Choix</option>
                                                                                    <option value="Oui_">Oui</option>
                                                                                    <option value="Non">Non</option>
                                                                                    </select></td>
                                                                      </tr>';
                            
                    }
                                            }
                                            else{
                                                    $filename = 'txt/monfichier2.txt';
                                                    $ligne= file($filename);
                                                    $nbTotalLignes=count($ligne);
                                                    $tab = array();
                                                    for($i=0;$i<$nbTotalLignes;$i++){$ligneTab[] = explode(";", $ligne[$i]);}
                                                    
                                                    for($j=0;$j<sizeof($ligneTab);$j++){
                                                            echo '<tr>
                                                                            <td>'.$ligneTab[$j][0].'</td>
                                                                            <td>'.$ligneTab[$j][1].'</td>
                                                                            <td>'.$ligneTab[$j][2].'</td>
                                                                            <td>'.$ligneTab[$j][3].'</td>
                                                                            <td>'.$ligneTab[$j][4].'</td>
                                                                            <td><select name="Choix'.$j.'" class="form-control">
                                                                                    <option value="Choix">Choix</option>
                                                                                    <option value="Oui">Oui</option>
                                                                                    <option value="Non">Non</option>
                                                                                    </select></td>
                                                    </tr>';}
                                            };
                                    
                                    
                                    ?>
    				</tbody>
    			</table>
    			<hr>
    		<div class="input-group">
    			<span class="input-group-addon" id="sizing-addon2">Intervenant</span>
    			<input name="intervenant" type="text" class="form-control" aria-describedby="sizing-addon2">
    		</div>
    		<hr>
    		<div class="form-group">
    			<label for="comment">Commentaire(s):</label>
    			<textarea class="form-control" rows="5" name="comment"></textarea>
    		</div>
    		</form>
    		<button onClick="Check();" class="btn btn-success">Valider et imprimer le process confirmation</button>

    La partie Javascript:
    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 Check(){
     
     
    			if (document.Fill.Choix0.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°  1!");return false;}
    			else if (document.Fill.Choix1.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°2!");return false;}
    			else if (document.Fill.Choix2.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°3!");return false;}
    			else if (document.Fill.Choix3.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°4!");return false;}
    			else if (document.Fill.Choix4.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°5!");return false;}
    			else if (document.Fill.Choix5.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°6!");return false;}
    			else if (document.Fill.Choix6.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°7!");return false;}
    			else if (document.Fill.Choix7.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°8!");return false;}
    			else if (document.Fill.Choix8.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°9!");return false;}
    			else if (document.Fill.Choix9.value=="Choix") {alert("Sélectionner un choix pour la chronologie n°10!");return false;}
    			else if (document.Fill.intervenant.value=="") {alert("Veuillez saisir votre nom!");return false;}
    			else if (document.Fill.comment.value=="") {alert("Sélectionner un commentaire!");return false;}
    			else {
    				alert('Tous est bon!');}
    		}
    Mon problème est que je voudrais faire une boucle pour récupérer les 'Select' présents dans mon form en fonction de mon choix.


    Merci par avance

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Bonjour,
    tu peux récupérer tes <select> en utilisant la méthode querySelectorAll().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var oSelects = document.querySelectorAll('SELECT');
    ou encore comme ils posséde un name commençant de la même façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var oSelects = document.querySelectorAll('name^="Choix"');

  3. #3
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    Ok, ça marche pour moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function Check(){
        var oSelects =document.querySelectorAll('select');
        var h=1;
        for (var i = 0; i < oSelects.length; i++) {
            if (oSelects[i].value=="Choix") {alert("Sélectionner un choix pour la chronologie n°"+(i-h)+"!");return false;}
    													  }
        if (document.Fill.intervenant.value=="") {alert("Saisir votre nom!");return false;}
        else if (document.Fill.comment.value=="") {alert("Saisir un commentaire!");return false;}
        else {alert('tout est bon');}
            }

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

Discussions similaires

  1. [AC-2003] Lister les enregistrements d'un formulaire et envoi vers table
    Par elokapo dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/05/2013, 14h17
  2. [A-07]Lister les formulaires et états ouverts
    Par lucienkany dans le forum IHM
    Réponses: 2
    Dernier message: 24/03/2009, 14h00
  3. Lister les formulaires d'une autre base de données
    Par beaucy dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/09/2007, 09h43
  4. lister les tables de la base dans un formulaire.
    Par zeloutre dans le forum IHM
    Réponses: 3
    Dernier message: 06/03/2007, 17h12
  5. Réponses: 3
    Dernier message: 17/08/2006, 16h49

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