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

jQuery Discussion :

Checkboxes qui ne passent pas [AJAX]


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    autodidacte
    Inscrit en
    Juin 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2014
    Messages : 45
    Points : 29
    Points
    29
    Par défaut Checkboxes qui ne passent pas
    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'); 
     
            }
     
        });

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Il n'y a apparemment pas de problème dans le code que tu montres, donc ça doit probablement venir du script PHP.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    TU as testé un
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    autodidacte
    Inscrit en
    Juin 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2014
    Messages : 45
    Points : 29
    Points
    29
    Par défaut
    Bonjour

    Merci, oui en effet, ça venait de mon php --> if (empty($_POST['contrat[]']) et de la fatigue, forcément..
    Merci, à une prochaine )

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

Discussions similaires

  1. Sessions multiples et variables qui ne passent pas
    Par franz.moraine dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2008, 20h48
  2. html:checkbox qui n'interprete pas un attribut
    Par gloglo dans le forum Struts 1
    Réponses: 1
    Dernier message: 20/03/2007, 10h03
  3. Réponses: 2
    Dernier message: 16/03/2007, 15h44
  4. variables de session qui ne passent pas
    Par cels dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/11/2006, 10h46
  5. [Mail] liens qui ne passent pas...
    Par tnntwister dans le forum Langage
    Réponses: 13
    Dernier message: 03/01/2006, 18h42

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