Bonsoir,


Que je passe mes données via data {donnee:donnee) ou data :$(this).serialize(), mes checkboxes ne passent pas !!!
A chaque fois, mon code me répond "Oops vous avez oublié de renseigner ces champs : Type de contrat recherché, Accepter les CGU.

J'ai une checkbox simple d'un côté, et de l'autre une série de checkbox name='contrat[]', et aucune ne passe, tandis que aucun problème avec mes autres champs qui sont traités comme il se doit.
Quelle est la raison ???

Merci pour lumières


Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<label class="label" id="label_contrat">Type de contrat recherché</label>     
<input type="checkbox" name="contrat[]" value="CDI" class="contrat_checkbox" tabindex="113">         <label for="CDI"  class="tag_contrat">CDI</label> 
<input type="checkbox" name="contrat[]" value="CDD" class="contrat_checkbox" tabindex="114">         <label for="CDD"  class="tag_contrat">CDD</label> 
<input type="checkbox" name="contrat[]" value="Interim" class="contrat_checkbox" tabindex="115">     <label for="Interim"  class="tag_contrat">Interim</label> <br />
<input type="checkbox" name="contrat[]" value="Saisonnier" id='saison_c' class="contrat_checkbox" tabindex="116">  <label for="Saisonnier" class="tag_contrat">Emploi Saisonnier</label> 
<input type="checkbox" name="contrat[]" value="Autres" class="contrat_checkbox" tabindex="117">      <label for="Autres"  class="tag_contrat">Autres</label> 
<br /><br />
<input type="checkbox" name="cgu_inscription" id="cgu_inscription" value="ok" tabindex="140"/>
<label class="label" id='label_cgu'>J'accepte les <a href="#" id="CGU_link">CGU</a></label>


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
// Dans process.php j'ai testé avec if (!isset($_POST['contrat[]'])) même avec empty, et pareill pour <input type="checkbox" name="cgu_inscription" , mais ya rien à faire, 
/******************************************/
$(document).ready(function() {
    $("#form_inscription").submit(function(event) 
      {event.preventDefault(); 
	    $.ajax({ 
		type : 'POST',
		url : "process.php",
		data : $(this).serialize(),
		dataType:"json",
		encode          : true
	    })
	    .done(function(data) {
        // log data to the console so we can see
        console.log(data);
        // here we will handle errors and validation messages
        if ( ! data.success){
            $("#ctn_inscription_error").show("slide", { direction: "left" }, 1000);		
	    var display = $("#ctn_inscription_error #ctn_for_errors .error_message"); 
	    display.html('');
	    // Si data.error sur un des champs suivants, j'affiche "Oops, vous avez oublié de renseigner les champs :"
	    if (data.errors.civilite ||data.errors.prenom ||data.errors.naissance ||data.errors.telephone ||data.errors.email || data.errors.password ||    
		        data.errors.repeat_password || data.errors.job|| data.errors.secteur || data.errors.secteur || data.errors.contrat  || data.errors.cgu )
 
		        var text_vide = '<b>Oops, vous avez oublié de renseigner les champs :</b><br /><br />';
			display.append(text_vide);			
 
                               if (data.errors.civilite) 
                                 { display.append(data.errors.civilite); $('#label_civilite').addClass('error_empty'); }
                           else { $('#label_civilite').removeClass('error_empty');}
 
                              if (data.errors.nom) 
                                { display.append(data.errors.nom); $('#label_nom').addClass('error_empty'); } 
		          else { $('#label_nom').removeClass('error_empty');} 
 
                                 // etc  +
 
                             if (data.errors.contrat )  // = mes checkbox name=contrat[];
                               { display.append(data.errors.contrat); $('#label_contrat').addClass('error_empty');} 
	                 else { $('#label_contrat').removeClass('error_empty');} 
 
 
	                  if (data.errors.cgu ) // = ma checkbox simple, j'accepte les CGU
                            { display.append(data.errors.cgu); $('#label_cgu').addClass('error_empty'); }   
	             else { $('#label_cgu').removeClass('error_empty');} 	
 
 
              // Si data.error sur un des champs suivants, j'affiche "Des erreurs de type  !preg_match ont été trouvées 
                        if (data.errors.annee_naissance ||data.errors.telephone_format ||data.errors.email_format ||data.errors.email_existe ||data.errors.password_format 
		          ||data.errors.repeat  )
		         { var text_erreurs = '<b><br />Des erreurs ont été trouvées sur les champs :</b><br /><br />';
			       display.append(text_erreurs);
		          }
 
                     if (data.errors.annee_naissance) 
                       { display.append(data.errors.annee_naissance); $('#label_naissance').addClass('error_field'); }
		 else  {$('#label_naissance').removeClass('error_field');} 
 
                  // etc
 
        } else {
 
            // ALL GOOD! just show the success message!
 
            alert('success'); 
 
        }
 
    });