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 :

Envoyer des informations de checkbox à un formulaire


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Envoyer des informations de checkbox à un formulaire
    Greetings, fellow développeurs web

    Je suis débutant en javascript, et je m'intéresse aux formulaires. J'ai beaucoup de mal avec les checkbox (ce sont mes bêtes noires!)
    Je dispose d'un code de ce type:
    Code html : 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
    <form id="formulaire" action="action.php" method="POST">
     
      <fieldset id="groupe1">
        <legend>Groupe1</legend>
          <input id="element1" type="checkbox" value="1" checked="checked">
          <label class="" for="element1">1er Element</label>
     
          <input id="element2" type="checkbox" value="2" checked="checked">
          <label class="" for="element2">2eme Element</label>
      </fieldset>
     
      <fieldset id="groupe2">
        <legend>Groupe2</legend>
          <input id="element3" type="checkbox" value="3" checked="checked">
          <label class="" for="element1">3eme Element</label>
     
          <input id="element4" type="checkbox" value="4" checked="checked">
          <label class="" for="element4">4eme Element</label>
      </fieldset>
     
      <input type="submit" value=" Envoyer ">
     
    </form>

    Et j'aimerais grâce au bouton Envoyer, récupérer tous les id de fieldset et leurs values, séparés par des virgules, donc une variable par fieldset, que l'on envoit à action.php, pour cela faut-il faire une fonction javascript?

    Exemple: On suppose que toutes mes variables de groupe existent déjà et ont de valeur par défaut dans mon action.php.
    Je coche "1er element", "2eme element", "4eme element".
    J'envois donc a action.php 2 variable (un par groupe), la première contiendra "1,2" et la seconde "4".

    Merci de bien vouloir m'apporter votre précieuse aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    Bonjour,

    tes input n'ont pas de balise name, coté serveur tu vas avoir du mal à récupérer les valeurs...

    Ensuite plutôt que de faire du javascript, je modifierais le formulaire pour faire des champs dont les name sont "group1_element1", "group1_element2" etc et coté serveur tu traites tes variables comme tu veux.

    Sinon c'est possible en javascript, en créant par exemple un champ hidden au name "group1" et lors de la soumission tu boucles sur les champs en recopiant la valeur des éléments fils comme tu veux. Avec jQuery c'est assez facile, sans ça me semble de suite plus compliqué. Comme tu es débutant, mieux vaut partir sur un traitement serveur si tu maîtrises mieux.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci de ta réponse! Je vais réfléchir à tes propositions pour modifier mon code
    Mais il n'y a vraiment pas moyen coté PHP de savoir si une box est checkée a partir de l'ID d'un input?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Je suis vraiment désolé de faire un up, c'est pas mon intention de faire remonter le topic, et je sais que le fait de dire que mon problème est vraiment urgent ne fera pas avancer plus vite mon problème, mais j'ai eu une idée a partir de toutes les recherches que j'ai effectuée.
    En fait je créé une fonction "recupere_groupe" où je fais un getElementById().getElementsByTagName() je sais que la première méthode me sert a cibler mon champ et la seconde me retourne un array d'occurences que j'ai mis en argument.

    Maintenant, je bloque vraiment sur la récupération de la valeur de mes elements, je veux juste envoyer au serveur des variables groupe (ca sera probablement des chaines) qui me permettront après de savoir si les checkbox sont cochées ou non.

    J'ai étudié ta solution bewidia, mais justement je ne sais pas comment accéder à mes champs fils :s et comme j'ai énormément de checkbox, je dois me débrouiller avec le javascript..
    Je ne demande pas forcément la solution complète, mais au moins une piste sur laquelle travailler ^^

    Je vous remercie bien

  5. #5
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Seul les checkbox cochés sont envoyés vers le serveur lors d'un submit d'un formulaire. Comme tu travailles avec php, utilise un name sous forme de tableau
    (name="checkbox[]") et du coté php, tu récupères un tableau des checkbox coché avec $_POST["checkbox"].

    A+.

Discussions similaires

  1. Envoyer des données par post sans formulaire
    Par webrider dans le forum Langage
    Réponses: 12
    Dernier message: 31/03/2007, 19h11
  2. Réponses: 6
    Dernier message: 26/01/2007, 10h32
  3. [PHP-JS] envoyer des informations à deux pages
    Par insane_80 dans le forum Langage
    Réponses: 2
    Dernier message: 04/10/2006, 14h50
  4. Envoyer des informations à un service Web en javascript
    Par gingman dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/03/2006, 10h46
  5. Réponses: 3
    Dernier message: 28/10/2005, 10h01

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