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 :

nommage de checkbox obligatoire


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 111
    Par défaut nommage de checkbox obligatoire
    Bonjour,

    Mon code de test du champ obligatoire des checkbox ne marche plus après l'avoir renommé pour mes besoins php. Je m'explique.

    j'ai un champ checkbox qui doit obligatoirement être rempli.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <br><input type="checkbox" name="lg" value="1">fr
    <br><input type="checkbox" name="lg" value="2">en
    <br><input type="checkbox" name="lg" value="3">es

    Pour tester que l'une des valeurs a été cochée, j'utilise le javascript suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var vlg = document.getElementsByName('lg');
    for(var i=0; i<vlg.length; i++){
    ... test si on a coché
    }
    Le code ci-dessus marchait parfaitement jusqu'à ce que je veuille récupérer les valeurs cochées en php. J'ai donc remplacé le nom lg par lg[].

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <br><input type="checkbox" name="lg[]" value="1">fr
    <br><input type="checkbox" name="lg[]" value="2">en
    <br><input type="checkbox" name="lg[]" value="3">es

    Je récupère bien les valeurs en php, mais le test du champ obligatoire en javascript ne passe plus.

    vlg.length retourne 0, on ne rentre jamais dans la boucle de test

    J'ai besoin de vos lumières pour ne pas construire une mini usine à gaz.

    raton des champs.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 111
    Par défaut Personne ?
    Personne ne peut me répondre ?

    Je m'étonne que cela n'ai jamais été traité. Cela doit être très connu.

    Je résume ou plutôt je vous pose une colle :
    Essayer de faire un programme simple
    1/ une page avec 1 groupe de 3 checkbox.
    2/ L'utilisateur clique sur le bouton "Valider"
    Si aucun des checkbox n'est rempli, alors afficher à l'utilisateur "au moins une valeur doit être sélectionné".
    3/ Une fois le test de champ obligatoire passé, le formulaire est traité par un fichier php qui affiche les valeurs sélectionnées dans les checkbox.

    Cela paraît simple, c'est c'est monstrueusement affreux à résoudre simplement.

    Merci à la personne qui arrivera à passer cette épreuve le plus simplement du monde.
    Aucun prix à l'arrivée

  3. #3
    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
    Ben tu as changé le name ...

    change le aussi dans ton script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var vlg = document.getElementsByName('lg[]');
    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 !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 111
    Par défaut
    Bonjour SpaceFog,

    oui, je l'ai fait.
    Voici l'ancien script qui marche :
    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
    <script>
    function check_civilite(){
    	var id = document.getElementsByName('civ');
    	for(var i=0; i<id.length; i++){
    		alert(id[i].checked);
    	}
    }
    </script>
    <body>
    <form>
    <br><input type="checkbox" name="civ" value="1">M
    <br><input type="checkbox" name="civ" value="2">Mme
    </form>
    <input type=button value="civilite" onclick="check_civilite();">
    </body>
    Et le nouveau qui ne fonctionne pas:
    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
    <script>
    function check_civilite(){
    	var id = document.getElementsByName('civ');
    	for(var i=0; i<id.length; i++){
    		alert(id[i].checked);
    	}
    }
    </script>
    <body>
    <form>
    <br><input type="checkbox" name="civ[]" value="1">M
    <br><input type="checkbox" name="civ[]" value="2">Mme
    </form>
    <input type=button value="civilite" onclick="check_civilite();">
    </body>
    Dans le dernier cas, je ne sais pas comment accéder au tableau,
    id[0][0].checked renvoie undefined ...



    Ca doit être tout bête mais chiant à mourir

  5. #5
    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
    as tu au moins lu ma réponse ?????




    si le name des checkboxes est lg[]
    tu recupères la colletcion avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var vlg = document.getElementsByName('lg[]');
    EN METTANT LES []
    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 !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 111
    Par défaut
    Merci ça marche.
    Oui, j'avais lu ton message et j'avais changé mon script, mais pas comme il le fallait. Car je ne pensais pas qu'on pouvait mettre des accolades dans le getElementsByName.

    Je savais qu'il y avait une solution toute simple. Bon j'aurais appris qql chose ce soir

    Yooupi !

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

Discussions similaires

  1. [2.x] Sélection d'au moins un checkbox obligatoire
    Par Mister Nono dans le forum Symfony
    Réponses: 2
    Dernier message: 20/05/2014, 10h03
  2. comment rendre une checkbox obligatoire
    Par fenixdragon dans le forum Langage
    Réponses: 16
    Dernier message: 10/07/2013, 12h48
  3. Checkbox obligatoire au submit
    Par Vanlen dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/11/2010, 17h17
  4. Recuperation de checkbox et nommage avec crochet
    Par arnogb69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/11/2008, 09h12
  5. Au moins un checkbox obligatoire
    Par bassiste dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/09/2008, 15h51

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