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 :

form et checkbox


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Points : 54
    Points
    54
    Par défaut form et checkbox
    Bonjour,
    Juste une petite question, cela fait une heure que je cherche sur le web mais rien ne marche!! Si quelqu'un peut m'aider...
    J'ai un formulaire avec une série de cases à cocher de nom : name=reponses[]
    Quand j'envoie mon formulaire, je souhaiterais verifier qu'au moins une case est cochée. J'ai une fonction js que j'appelle dans onSubmit() de ma balise formulaire. Mais impossible d'écire une fonction js qui marche pour tester si une case est au moins cochée.
    Une idée?
    Merci!

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Je viens de trouver ca dans la FAQ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (i=0; i<document.nomduform.nomdescases.length; i++) {
        if (document.nomduform.nomdescases[i].checked) 
          // cochée 
       else 
          // pas cochée 
    }
    Tu pourrais l'utiliser avant de faire le submit....
    Mais je pense que déjà la longueur te permet de savoir si au moins un est selectionné, donc à voir et à adapter

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Points : 54
    Points
    54
    Par défaut
    Merci pour ta réponse, mais j'avais déjà essayé et le problème c'est que quand je mets document.nomduform.nomdescases.length dans ma fonction js, cela me fait "planter" toute ma fonction!! C'est à dire que je teste avec un return false et ma fonction fait comme si j'avais un return true! Et je ne récupère aucune valeur pour document.nomduform.nomdescases.length !! (meme pas un undefined ou autre!)
    Voilà, je ne sais pas quoi faire!
    Si quelqu'un a une idée.... Merci!

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Bon et si tu mettais ton code ?

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Points : 54
    Points
    54
    Par défaut
    Mon formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <FORM NAME="formulaireReponses" METHOD="post" ACTION="enregistreReponses.php" TARGET="_blank" ONSUBMIT="return soummissionFormulaire()">
    Mes checkbox dans mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "<INPUT TYPE='CHECKBOX' ID='$num_r' VALUE='$num_question-$num_reponse' MULTIPLE NAME='reponses[]'  />";

    Ma fonction javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function soummissionFormulaire()
    {
      alert('coucou');
      document.formulaireReponses.reponses.length;
      alert(reponses);
      return false;
      }
    Je n'ai pas encore fait mon if, je vaoulais juste voir si je réussissais à récupérer quelque chose, ce qui n'est pas le cas!![/quote]

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Le nom de ton input c'est reponses[] et non reponses donc forcément, il peut pas trouver.

    Et pour les noms exotiques comme celui-là il faut passer par l'array elements:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      var nbReponses = document.formulaireReponses.elements['reponses[]'].length; 
      alert(nbReponses);
    (pour info, il faut affecter tes variables si tu veux les réutiliser).

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Points : 54
    Points
    54
    Par défaut
    merci ça marche!

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

Discussions similaires

  1. [Débutant] Réintialisation de form (listbox + checkbox)
    Par edmr_ps dans le forum VB.NET
    Réponses: 5
    Dernier message: 28/08/2012, 09h53
  2. [1.x] Retirer les <li> d'un form avec checkboxes: autres suggestions?
    Par Vicrabb dans le forum Symfony
    Réponses: 7
    Dernier message: 06/01/2011, 14h26
  3. [AC-2003] MAJ form sur checkbox
    Par paidge dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/05/2010, 14h42
  4. Récupérer signet Word sous forme de checkbox
    Par PC81 dans le forum VBA Access
    Réponses: 4
    Dernier message: 18/04/2008, 09h59
  5. [Struts-Layout] title sous forme de checkbox
    Par imane_bennouna dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/11/2006, 09h29

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