Bonjour,

Voila je rencontre un petit problème avec mon code.

je veux récupérer tous les valeurs des checkbox cochés de mon form et de les enregistrer dans ma base de données phpmyadmin dans le même champ, est ce possible ?

voici mon code html

<form  method="post">

<table border cellspacing=0 class="table" align="center" style="max-width:1200px;" >

                <tr>

                    <th width=180>Nom & Prénom</th>

                    <td width=150><input type="text"  id="nom" name="nom" style="width:250px;position:absolute;height:30px;border:0"></td>

                </tr>

                <tr>

                    <th width=180>Classification</th>

                    <td colspan=3 width=180>Direction&emsp;&emsp;<input type="checkbox" class="classi" name="case[]" id="c1" value="Direction">&emsp;&nbsp;&emsp;&emsp;&emsp;Cadre&emsp;&emsp;&emsp;

                    <input type="checkbox" class="classi" name="case[]" id="c2" value="Direction">&emsp;&emsp;&emsp; &emsp;ETAM&emsp;&emsp;&emsp;&emsp;&nbsp;<input type="checkbox" class="classi" id="c3" name="case[]" value="ETAM"> &emsp;&emsp;&emsp;&emsp;Hor.Perm&emsp;&emsp;<input type="checkbox" class="classi" id="c4" name="case[]" value="Hor.Perm">&emsp;&emsp;&emsp;Hor.Temp&emsp;&emsp;&emsp;<input type="checkbox" class="classi" name="case[]" id="c5" value="Hor.Temp"> &emsp;&emsp;Intérimaire&emsp;&emsp;&emsp;&emsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="c6" name="case[]" class="classi" value="Intérimaire"> &emsp;&emsp;&emsp;Sous-traitant&emsp;&emsp;<input type="checkbox" id="c7" name="case[]" class="classi" value="Sous-traitant">&emsp;&emsp;&emsp;&emsp;Stagiaire&emsp;&emsp;&nbsp;<input type="checkbox" class="classi" id="c8" name="case[]" value="Stagiaire"></td>

</tr>
            </table> <br/>
            <center>

            <button type="button" class="btn btn-primary" name="save"  id="save" data-toggle="modal" data-target="#myModal" style="font-size:20px;width:145px"><span class="glyphicon glyphicon-floppy-disk" style="font-size:20px"></span></button>

            </center>

    </form>  

voici mon script

<script type="text/javascript">

               $(document).ready(function(){

                    $("#save").click(function(){           

                          var nom = $("#nom").val();           

                       var classi = $('input[type=checkbox]:checked').attr('value');

                         var dataString = '&nom='+ nom + '&classi='+ classi ;

                          $.ajax({

                              type:"post",

                              url:"add.php",

                              data:dataString,

                              success: function (d) {}

                          });

                    });

               });

    </script>

avec ce code je récupère juste la valeur du dernier checkbox coché , j'ai essayé même de créer un tableau mais ça marche pas
Merci !

4 réponses


Utilise la fonction each de jQuery http://api.jquery.com/jquery.each/

J'ai deja utiliser ce code mais ca n'a pas marché

 var classi = [];
                                  $('.classi:checked').each(function(){
                                     checkbox_val.push($(this).val());
                                  });

                                  // Le tableau sert de valeur dans l'objet javascript ayant la propriété "desserts"
                                  $.post('add.php', {'classi':checkbox_val}, function(data){});

                               });
                            });

essaie un peu ceci.

<script type="text/javascript">

               $(document).ready(function(){

                    $("#save").click(function(e){           
                        e.preventDefault();
                          var nom = $("#nom").val();           

                       var classi = $('input'). find('[type=checkbox]:checked').attr('value');

                         var dataString = '&nom='+ nom + '&classi='+ classi ;

                          $.ajax({

                              type:"post",

                              url:"add.php",

                              data:dataString,

                              success: function (d) {}

                          });

                    });

               });

    </script>

J'ai essayé mais ca revoie une valeur indéfinie :-/