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 :

chekbox et variables


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut chekbox et variables
    Bonjour,

    je voudrais faire un document dans lequel l'utilisateur à la possibilité de cocher
    via un bouton plusieurs cases à cocher d'un coup.
    ces données me viennent d'une base de données et sont affichées sous forme de tableau.

    j'ai récupéré un code sur le net
    qui fonctionne trés bien tout seul mais dès que je l'intègre dans mon document j'ai des erreurs par firebug.

    le code
    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">
     
    var field =document.forms['test'].gpl;
     
    /* variable que j'ai ajoutée car field n'était pas interprété ...ça ne marche pas */
     
    var checkflag = "false";
     
    function check(field) 
    {
    if (checkflag == "false")
      {
      for (i = 0; i < field.length; i++) 
          {   
      field.checked = true;
          }    
      checkflag = "true";
      return "Décocher"; 
      }  
    else 
      { 
      for (i = 0; i < field.length; i++) 
        { 
     field.checked = false; 
        }
      checkflag = "false";
      return "cocher"; 
      }
    }
    </script>

    le bouton qui gére le multicoche


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <th><input type="button" value="tout sélectionner" onClick="this.value=check(document.forms[\'coche\'].gpl)"></th>'
    les erreurs retournées
    quand je clique sur le bouton

    reference to undefined property document.forms.coche.gpl

    assignment to undeclared variable i
    for (i = 0; i < field.length; i++) \nmodif.php (ligne 31)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    field is undefined
    [Break on this error] for (i = 0; i < field.length; i++) \n

    je continue a chercher mais là pour la syntaxe peut être que je m'y prends mal.

    merci d'avance
    Prisme7

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    for (i = 0; i < field.length; i++)
    Field doit être un tableau pour avoir l'attribut length. Je pense que tu dois utiliser document.getElementsByName pour récupérer les éléments.
    Montres nous le code HTML généré du formulaire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut Suite check
    ci-joint une copie de mon code source ( j'ai allégé au niveau des données dans les TD...)


    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <html>
    <head>
    <img src="mimi" width="150" height="50"> 
    <title>cantine 2009</title>
    </head>
    <body>
    <h1>cantine</h1>
     
     
     
     
     <form name="coche" method="post" action="modif.php">
     
     
    	<SCRIPT LANGUAGE="JavaScript">
     
     
    	var checkflag = "false";
     
    	function check(field) 
    	{
    	if (checkflag == "false")
    	  {
    	  for (i = 0; i < field.length; i++) 
    	      {
    	  field[i].checked = true;
    	      }
    	  checkflag = "true";
    	  return "tout déselectioner"; 
    	  } 
    	else 
    	  {
    	  for (i = 0; i < field.length; i++) 
    	    {
    	  field[i].checked = false; 
    	    }
    	  checkflag = "false";
    	  return "tout sélectionner"; 
    	  } 
    	}
     
     
    	</script>
     
      <table border=0>
        <tr><td>Entrez un nom :</td>
         <td><input type="text" name="utilisateur"></td>
     
        </tr>
        <tr>
         <td>groupe:</td>
         <td>
    <select name="groupe"><option ></option><option >janvier</option><option >fevrier</option><option >mars</option><option >avril</option><option >mai</option><option >juin</option><option >juil</option><option >aout</option><option >sept</option><option >dec</option><option >janv</option><option >fev</option><option >mar</option><option >avr</option><option >ma</option><option >ju</option><option >jul</option><option >aoo</option><option >bbe</option></select>    </td>
     
      </tr>
      <tr>
        <td>Accord:</td>
        <td>
         <select name="accord">
            <option value="t">true</option>
            <option value="f">false</option>
     
         </select>
        </td>
      </tr>
      <tr>
        <td>Catégorie:</td>
        <td>
     <select name="categorie"><option value="0">o</option><option value="1">op</option><option value="2">om</option><option value="3">lm</option><option value="4">lk</option><option value="5">kj</option><option value="6">jo</option><option value="7">ju</option><option value="8">iu</option><option value="9">iu</option><option value="10">iu</option><option value="11">jd</option><option value="12">jh</option><option value="13">lh</option><option value="14">le</option></select>      </select>
     
        </td>
      </tr>
      <tr><td colspan="2"><input type="submit" name="inserer" value="Insérer"></td>
      <td><input type="reset" value="Effacer"></td>
      </tr>
     </table>
    </form>
    <h1>DROITS CANTINE</h1>
     
    <table><tr><th><input type="button" value="tout sélectionner" onClick="this.value=check(document.forms['coche'].gpl)"></th><th>utilisateur</th><th>groupe</th><th>permissions</th><th>libellé correspondant </th></tr><tr><td><input type='checkbox' name='gpl' value='1'><br>
     
    </td><td><br>
    </td><td>janvier<br>
    </td><td>t<br>
    </td><td>oo<br>
    </td></tr><tr><td><input type='checkbox' name='gpl' value='1'><br>
    </td><td><br>
    </td><td>février<br>
    </td><td>nj<br>
    </td><td>mars<br>
    </td></tr><tr><td><input type='checkbox' name='gpl' value='1'><br>
    </td><td><br>
    </td><td>avril<br>
    </td><td>t<br>
    </td><td>oi<br>
    </td></tr><tr><td><input type='checkbox' name='gpl' value='1'><br>
    </td><td><br>
    </td></tr></table>
    </body>
    </html>

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.value=check(document.forms['coche'].gpl)
    gpl n'est pas situé dans le form ...

    A+

  5. #5
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Test checkbox sont en dehors du formulaire...

    déplace le </form> juste avant le </body>

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="this.value=check(document.getElementsByName(\'gpl\');"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (var i = 0; i < field.length; i++) 
          {   
      field[i].checked = true;
          }

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut
    bien j'ai pris un peu de temps mais ça à marché
    juste une petite parenthèse en plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="this.value=check(document.getElementsByName(\'gpl\'))
    un grand merci à tous , ça m'a permis de comprendre certains trucs en plus.

    Prisme7

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

Discussions similaires

  1. verification de chekbox (name="{$variable}")
    Par 10-nice dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/01/2005, 11h03
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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