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 :

cocher un groupe de checkbox et traitement php


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut cocher un groupe de checkbox et traitement php
    Bonjour tout le monde,
    je galère pendant un petit moment et poster sur le forum m'a semblait l'unique solution pour trouver la solution donc.
    alors voila j'ai un formulaire, et dans le formulaire j'ai plein de checkbox, et je voudrai que suivant ce que je sélectionne dans une liste, des checkboxs soient automatiquement cochées. Ensuite je dois pouvoir récupérer toutes les valeurs des checkboxs pour les traiter en php à la sortie de mon formulaire.
    Alors maintenant mon code

    le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function selectivecheck(field, myselection) {
      vulcan = new Array("@ base-x","@ gnome-desktop","@ graphical-internet", "@ printing", "@ system-tools", "@ admin-tools", "@ development-tools", "@ legacy-network-server", "@ network-server", "@ web-server", "@ server-cfg", "@ text-internet", "@ editors", "@ legacy-software-development", "@ compat-arch-support");
      for (i=0; i<field.length; i++) {
        field[i].checked = false;
        if (myselection.value=="vulcan") {
          for (j=0 ; j < vulcan.length ; j++) {
            if (field[i].value == vulcan[j]) {
              field[i].checked = true;
            }
          }
        }
      }
    }
    la partie du formulaire avec le select de la liste déroulante
    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
          <p>
            <label for="optpackage" title="Choose the package model">Packages model :</label>
            <select id="optpackage" title="Choose your package model" tabindex="10" onChange='Choix(this.form)' onfocus="this.className='focus';" onblur="this.className='normal';" />
              <option value="" selected="selected"></option>
              <option name="optpackage" value="vulcan">VULCAN</option>
              <option name="optpackage" value="web">WEB</option>
            </select>
            <input type=button value="Select Group Packages" onClick="selectivecheck(this.form.options, this.form.optpackage)">
          </p>
          <legend>Groups of Packages</legend>
    <?php
    $query = "SELECT * FROM packages WHERE name LIKE '@%' ORDER BY name";
    $result = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error());
    $i = 1;
    while ($liste = mysql_fetch_assoc($result)) {
      echo "        <input type=\"checkbox\" name=\"options[]\" value=\"".$liste['name']."\">&nbsp;".$liste['description'];
      if ($i%5 == 0) echo "<br>\n";
      else echo "\n";
      $i++;
    }
    ?>   </select>
    Alors que je vous fasse un topo, si je laisse comme ca ca ne marche pas mais je peux récupérer mes valeurs dans le tableau options[] pour les traiter à la sortir du formulaire. Par contre si au lieu d'écrire ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo "        <input type=\"checkbox\" name=\"options[]\"
    j'écris ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo "        <input type=\"checkbox\" name=\"options\"
    mon javascript marche sans problème, enfin ca coche tout bon, mais je ne peux pas récupérer mes valeurs par la suite pour les traiter en php.

    Alors si quelqu'un a une solution à ce problème, j'ai rien trouvé et ce n'est pas faute d'avoir cherché.

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Je crois qu'en javascript la notation form.fieldname ne fonctionne que si tu
    as un nom unique pour les champs. La notation options[] est exploitée par
    php pour générer automatiquement un tableau d'après les champs portant
    le même nom.

    Je penses qu'il te faut essayer deux solutions:

    1) Tu numérotes tes checkbox quand tu les construits, option1, option2, etc...
    mais ceci nécessite que tu indique au js et au php le nombre d'options existantes.

    2) Tu utilise getElementByTagName pour obtenir la liste des champs input puis
    tu les itères en testant l'attribut name=='options[]' ça devrait passer.

  3. #3
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    utilise getElementsByName("NAME[]")

  4. #4
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup tout marcher nikel.
    Là j'aurai une autre question javascript, j'ai un champ list et à coté j'ai une url d'aide qui ouvre une pop up pour une explication détaillé de ce qui a été sélectionné dans la liste. Malheureusement je sais pas comment faire pour changer l'url de ce lien à chaque fois que je sélectionne quelque chose dans cette liste.
    Si vous pouviez m'aider merci.

  5. #5
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="document.getElementById('idLien').href=this.options[this.selectedIndex].value">

  6. #6
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    ca marche nikel, enfin ca met bien tout comme il faut ou presque.
    Je voudrai avoir un lien de la forme
    javascript:openw('details.php?name=MAVALUE','Details','400','300').
    donc j'ai essayé de faire un truc comme ca onchange="document.getElementById('100').href=javascript:openw('details.php?name='+this.options[this.selectedIndex].value,'Details','400','300')"
    mais bon clairement ca marche pas. Pourquoi suis je si nul en javascript alors que je programme dans tous les autres langages connus et pas connus aussi lol

  7. #7
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Morphleus
    ca marche nikel, enfin ca met bien tout comme il faut ou presque.
    Je voudrai avoir un lien de la forme
    javascript:openw('details.php?name=MAVALUE','Details','400','300').
    donc j'ai essayé de faire un truc comme ca onchange="document.getElementById('100').href=javascript:openw('details.php?name='+this.options[this.selectedIndex].value,'Details','400','300')"
    mais bon clairement ca marche pas. Pourquoi suis je si nul en javascript alors que je programme dans tous les autres langages connus et pas connus aussi lol
    this.options fait répérences aux options du lien dans ce que tu fais... or, un lien n'a pas d'options

  8. #8
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    hum oue pas trop convaincu en fait, il devrait faire référence au select

  9. #9
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Morphleus
    hum oue pas trop convaincu en fait, il devrait faire référence au select
    Ben non... tu dis : link.href="javascript:this.options.selectedIndex=0";
    Une chaine de caractère n'est pas évaluée...

  10. #10
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    oue c'est vrai, je vais réfléchir sur comment faire

  11. #11
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Voilà j'ai trouvé comment faire donc je post la réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="document.getElementById('idLien').href='javascript:openw(\'details.php?id='+nameSelect.options[this.selectedIndex].value+'\',\'Details\',\'400\',\'300\')'"
    Merci pour tout encore

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/10/2013, 15h34
  2. cocher / decocher groupe de checkbox
    Par nims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2008, 22h39
  3. Cout des traitement PHP
    Par emathieu13 dans le forum Langage
    Réponses: 10
    Dernier message: 11/03/2006, 23h50
  4. validation form en fonction de plusieurs groupe de checkbox
    Par Steph777 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/01/2006, 12h00
  5. Réponses: 2
    Dernier message: 08/11/2005, 23h55

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