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 :

Champs multiples à vérifier...


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 47
    Points
    47
    Par défaut Champs multiples à vérifier...
    Bonjour à tous !
    Je vous fais part de mon problème car je craque !!! J'ai une erreur dans mon script, mais je la vois pas et ça commence à m'!@'#^!
    Donc s'il vous plaît un petit coup de main...

    J'ai un formulaire tout bête avec un choix multiple possible.
    Je souhaite qu'à cette question l'utilisateur puisse donner au moins 2 réponses et au plus trois. Si ce n'est pas le cas, un message d'alerte doit s'afficher.
    Voici ma fonction :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
     
    function multiple (name,min,max) {
     
      var boutons = document.F.choix;
      var nb      = boutons.length;
      var choisi  = 0;
      var i       = 0;
     
      while (i < nb) {
     
        if (boutons[i].checked) {
          choisi = choisi + 1;
          if (choisi > max) {
            alert("Trop de réponses");
             return false;
          }
          if (choisi < min) {
            alert("Manque de réponses");
            return false;
          }
     
          i = i + 1;
      }
    else {
      return true;
    }
    }
     
    </script>
    et voici l'appel et donc le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <FORM NAME="F" onSubmit="return multiple(choix,2,3);" ACTION="" METHOD="post">
     
    Quels sont vos choix ?<br>
    <input type="checkbox" name="choix" value="toto"> toto<br>
    <input type="checkbox" name="choix" value="titi"> titi<br>
    <input type="checkbox" name="choix" value="tata"> tata<br>
    <input type="checkbox" name="choix" value="tutu"> tutu<br>
    <br>
     
    <INPUT TYPE="submit">
    </FORM>
    problème : Je n'ai pas de message d'alerte qui s'affiche

    Vous voyez ce qui cloche ?

    Merci beaucoup à ceux qui trouveront !

    [edit]Merci de ne pas mettre des terme du genre, au secours, a l'aide vite etc dans ton titre. shwin [/edit]

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    1) choix en paramètre de la fonction ...
    ça ne représente pas grand chose...


    ensuite il y a un autre post sur les checks ...

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par SpaceFrog
    1) choix en paramètre de la fonction ...
    ça ne représente pas grand chose...
    ben choix c'est le nom de mes checkbox...

    Ca répond pas vraiment à ma question... et en plus ça fait un peu n'importe quoi ce bout de code...

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    un peu n'importe quoi ?

    t'as une autre solution ???

    c'est LA solution

    il faut boucler sur les checks pour tester si ils sont checked ou pas ...
    sinon utilise un select multiple ...

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par minusette
    Citation Envoyé par SpaceFrog
    1) choix en paramètre de la fonction ...
    ça ne représente pas grand chose...
    ben choix c'est le nom de mes checkbox...

    Ca répond pas vraiment à ma question... et en plus ça fait un peu n'importe quoi ce bout de code... ca écrit ce que tu as coché plein de fois...
    De plus, j'aimerais avoir un onsubmit et pas un Onclick. Mais je vais potasser...

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    et puis j'ai bien vu que choix était le nom du check...
    mais à ce moment la syntaxe serait ...
    syntaxe permissive de IE

    il serait nettement préférable d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms[0].getElementByName('choix')
    maintenant vu que je code un peu n'importe quoi ... tu dois pouvoir te débrouille sans moi ...

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Et pour en terminer :
    merci d'eviter d'utiliser des termes comme AU SECOURS dans les titre des post !!
    tous les gens qui postent ont besoin d'aide donc pas besoin de le préciser ...

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Ta fâche pas
    Mais regarde ce qu'il fait le code et après tu comprendras mon "nimporte quoi"... Si tu appuies plusieurs fois sur le submit, il aligne les réponses précédentes....

    il serait nettement préférable d'utiliser

    Code:
    document.forms[0].getElementByName('choix')
    Ca je ne savais pas et je vais m'empresser de l'utiliser !!!!

    Dsl je voulais pas te vexer ...

    Ton code me convient pas dans le sens où je veux qu'il affiche un pb si on a checker moins de 2 réponses ou plus de 3. Parce que faire afficher ce qui est checké, je sais faire et ça marche, mais dans mon cas... j'y arrive pas !

  9. #9
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    personne ne t'as demandé de reprendre stricto sensu mon code, c'est juste un exemple de comment acceder aux checks ...
    a toi de l'adapter dans ta focntion de vérifiaction qui retourne treu ou false dans ton onsubmit

  10. #10
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    suis de bonne humeur...

    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
    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
     
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> 
     
    function multiple (name,min,max) { 
     
    	var boutons = document.F.elements[name]; 
    	var nb      = boutons.length; 
    	var choisi  = 0; 
    	var i       = 0; 
     
    	for (i=0;i < nb;i++) {   
    		if (boutons[i].checked) { 
    			choisi ++; 
    		}
    	} 
     
    	if (choisi > max) { 
    	alert("Trop de réponses"); 
    	 return false; 
    	} 
    	if (choisi < min) { 
    	alert("Manque de réponses"); 
    	return false; 
    	} 
     
      return true; 
     
    } 
     
    </script>
    </head>
    <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0"
            marginheight="0">
    <FORM NAME="F" onSubmit="return multiple('choix',2,3);" ACTION="" METHOD="post"> 
     
    Quels sont vos choix ?<br> 
    <input type="checkbox" name="choix" value="toto"> toto<br> 
    <input type="checkbox" name="choix" value="titi"> titi<br> 
    <input type="checkbox" name="choix" value="tata"> tata<br> 
    <input type="checkbox" name="choix" value="tutu"> tutu<br> 
    <br> 
     
    <INPUT TYPE="submit"> 
    </FORM>
    </body>
    </html>

  11. #11
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    LANGUAGE="JavaScript" TYPE="text/javascript"
    ca sert de mettre les deux ?

  12. #12
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    pour les passéistes oui ...
    au cas ou un homme de cromagnon mettrait la main sur IE4 ou 5

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ca me rassure

    mais dans ce cas la il manque les <!-- -->

  14. #14
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    tiens moi aussi j'ai le temps de m'amuser!

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <script type="text/javascript"> 
     
    function multiple (ch,tot) { 
    	for(i=0;i!=ch.length;i++){
    		tot+=ch[i].checked ? 1 : 0
    	};
     
    	if(tot<2||tot>3){
    		alert("Choisissez 2 ou 3 options.");
    		return false
    	};
     
    } 
     
    </script> 
     
    <form id="f" onsubmit="return multiple(this.elements['choix'],0);" action="" method="post"> 
     
    <p>
    Quels sont vos choix ?<br /> 
    <input type="checkbox" name="choix" value="toto" /> toto<br /> 
    <input type="checkbox" name="choix" value="titi" /> titi<br /> 
    <input type="checkbox" name="choix" value="tata" /> tata<br /> 
    <input type="checkbox" name="choix" value="tutu" /> tutu<br /> 
    </p>
     
    <p>
    <input type="submit" /> 
    </p>
     
    </form>

  15. #15
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Un grand merci à ceux qui se sont penchés sur mon problème : les deux marches impecc !!!!

    Vraiment merci car ça commençait à grandement m'énerver !

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

Discussions similaires

  1. champs multiples mais caché dans un ComboBox
    Par thomyvp dans le forum VB.NET
    Réponses: 4
    Dernier message: 24/05/2007, 13h46
  2. Index full text sur champs multiples
    Par manu_71 dans le forum Outils
    Réponses: 6
    Dernier message: 22/02/2007, 00h41
  3. formulaire avec des champs multiples
    Par don'de dans le forum Struts 1
    Réponses: 13
    Dernier message: 16/02/2007, 09h42
  4. [Struts] champs multiples
    Par khokho dans le forum Struts 1
    Réponses: 4
    Dernier message: 10/05/2006, 16h46
  5. Champ Multiple Concatenation et Mysql
    Par mulbek dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 17/10/2005, 13h40

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