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 :

pb sur le r�sultat d'une s�lection(up!)


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par d�faut pb sur le r�sultat d'une s�lection(up!)
    Bonsoir je reposte d'une autre facon ma question (mal formul�e?) sur un devoir que j'ai � rendre:
    J'ai cr�e un formulaire avec une s�lection: soit ECO soit LIBERTE
    Si ECO ne s�lectionner qu'une seule activit� si LIBERTE plusieurs peuvent etre coch�, j'ai essay� de faire cela avec ce code html:
    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
    49
    50
    51
    52
    53
     
    </head>
      <body>
     
    <h1>Inscription au centre sportif</h1>
     
     
    <div class="col1">
    <form name="form" method="post"  onsubmit="return verif_entr()">
     
     
     <fieldset>
     <legend>Vos coordonn&eacute;es</legend>
     
      Nom:
      <input type ="text" name="nom"  VALUE="" size="25">
     <br>
      Adresse:
      <input type ="text" name="adresse"  VALUE="" size="50">
    </fieldset>
     
      <fieldset>
      <legend>Choix du forfait:</legend>
     
      <select name="forfait"VALUE="">
       <option VALUE="option1">-Sélectionner votre forfait-</option>
       <option name="eco" VALUE="" >ECO: Une activit&eacute; hebdomadaire (100 euros)</option>
       <option>LIBERTE: Activit&eacute;s &agrave; volont&eacute; (300 Euros)</option>
      </select>
      </fieldset>
     
      <fieldset>
     
     <legend> Choix des activit&eacute;s:</legend>
      <input type="checkbox" name="activite1" onclick="return v_eco()" >Fitness<br>
      <input type="checkbox" name="activite2" onclick="return v_eco()">Gym Douce<br>
      <input type="checkbox" name="activite3" onclick="return v_eco()" >Stretching<br>
      <input type="checkbox" name="activite4" onclick="return v_eco()" >Gym Aquatique<br>
      <input type="checkbox" name="activite5" onclick="return v_eco()" >Abdos<br>
      <input type="checkbox" name="activite6" onclick="return v_eco()">Dance<br>
      </fieldset>
     
     
      <p>
      <input type="submit" name= "bout" value="valider" onclick="return confirm('Voulez-vous envoyer cette réservation?');">
     
      </p>
     
    </a>
      </div>
     
      </form>
      </body>
    Puis avec le fichiers javascript suivant:
    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
    49
    50
    51
    52
    53
    54
    55
     
      function verif_entr()
     {
    if((document.forms.form.nom.value == "")||(document.forms.form.adresse.value == ""))  {
       alert("Veuillez remplir tous les champs svp!");
       document.form.nom.focus();
       return false;
      }
      else return true;
     } 
     function v_eco(){
    if(document.forms.form.eco.value == "")  {
     
    if (document.forms.activite1.checked){
    o1 = 1
    }
    else{
    o1 = 0
    }
     if (document.form.activite2.checked){
    o2 = 1
    }
    else{
    o2 = 0
    }
    if (document.form.activite3.checked){
    o3 = 1
    }
    else{
    o3 = 0
    }
     if (document.form.activite4.checked){
    o4 = 1
    }
    else{
    o4 = 0
    }
     if (document.form.activite5.checked){
    o5 = 1
    }
    else{
    o5 = 0
    }
     if (document.form.activite6.checked){
    o6 = 1
    }
    else{
    o6 = 0
    }
     total = Number(o1) + Number(o2) + Number(o3) + Number(o4)+Number(o5)+Number(o6)
     if (total > 1){
    alert("maximum un choix")
    }
     }
    }
    Mais cela ne fonctionne pas!
    J'ai pens� � un bouton radio si la s�lection est ECO puisqu'� priori avec les boutons radio un seul doit etre coch�, qu'en pensez vous?
    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par d�faut
    Prends �a comme exemple. Cela fait ce que tu souhaites, mais au strict minimum.

    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
    <html>
      <head>
        <script>
     
    function check (e) {
      var sels = document.getElementsByName('selection');
      var max = sels[0].checked ? 1 : -1;
      var cb;
      var cpt = 0;
      for (var i = 1; true; i++) {
        cb = document.getElementsByName('act' + i);
        if (!cb[0])
          break;
        cpt += cb[0].checked ? 1 : 0;
      }
      if (max >=0 && cpt > max)
        alert('Un seul choix, svp.');
    }
     
        </script>
      </head>
      <body>
        <form>
          <input type="radio" name="selection" value="eco" checked>ECO</input><br />
          <input type="radio" name="selection" value="liberte">Liberté</input><br />
          <input type="checkbox" name="act1" onclick="check();">Activité 5</input>
          <input type="checkbox" name="act2" onclick="check();">Activité 5</input>
          <input type="checkbox" name="act3" onclick="check();">Activité 5</input>
          <input type="checkbox" name="act4" onclick="check();">Activité 4</input>
          <input type="checkbox" name="act5" onclick="check();">Activité 5</input>
        </form>
      </body>
    </html>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par d�faut
    dingoth merci pour la formule magique!
    Cependant je ne comprend pas bien ce code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    function check (e) {
      var sels = document.getElementsByName('selection');
      var max = sels[0].checked ? 1 : -1;
    peut tu m'expliquer svp?
    Merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par d�faut
    Eh bien, je r�cup�re les �l�ments HTML ayant comme nom (name) 'selection', c'est � dire les deux boutons radio. De ces deux �l�ments, je prends le premier, et s'il est s�lectionn�, je donne une valeur maximale de s�lections d'activit�s. Il se trouve que j'ai d�cid� (selon tes param�tres) de mettre le maximum � 1. S'il n'est pas s�lectionn�, je donne une valeur par d�faut que j'ai d�clar� �tre -1. Plus loin, dans le code, je v�rifie si la valeur maximale est une valeur donn�e ou la valeur par d�faut. Si c'est une valeur donn�e, je tol�re max �l�ments s�lectionn�s, sinon, j'en tol�re autant que je veux.

    En esp�rant que cela soit plus clair ^_^

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par d�faut
    Merci dingoth chapeau pour ton code!
    j'avoue que je n'ai pas encore totalement compris car je d�bute mais j'ai saisi le principe.
    @++

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Etat] Bas� sur le r�sultat d'une requ�te
    Par Pascal26 dans le forum WinDev
    R�ponses: 13
    Dernier message: 12/04/2007, 09h04
  2. R�ponses: 11
    Dernier message: 11/08/2006, 16h52
  3. R�ponses: 5
    Dernier message: 04/07/2006, 11h19
  4. R�ponses: 3
    Dernier message: 11/01/2006, 18h35
  5. [Firebird] DELETE sur le r�sultat d'une requete d'un IBQUERY
    Par shashark dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 25/06/2005, 18h17

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