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 :

Clause else qui ne fonctionne pas


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    Par défaut Clause else qui ne fonctionne pas
    Bonjour,

    J'ai ma clause else qui ne fonctionne pas et je pense que je ne m'y prends pas bien car si il n'y a pas d'upload, je souhaite quand même enregistrer dans la table que les données texte voici mon code en espérant qu'il ne soit pas trop long sinon, veuillez m'en excuser.


    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
     
    /* UPLOAD */
    $(document).ready(function() {
        if ($("input[type=checkbox][name=checkboxAjoutDocuments]").change(function() {
                $("#divDropzone").addClass("dropzone");
                $("#divDropzone").addClass("dz-clickable");
                $("#helpDocuments").removeClass("d-none");
                $("#helpDocuments").addClass("d-block");
                $("#lineAjoutDocuments").addClass("d-none");
     
                /*DROPZONE*/
                Dropzone.autoDiscover = false;
     
                $("#divDropzone").dropzone({
                    url: 'upload.php',
                    parallelUploads: 100,
                    paramName: 'file',
                    maxFiles: 3,
                    maxFilesize: 1.5,
                    dictDefaultMessage: 'Cliquez pour ajouter des fichiers...',
                    uploadMultiple: true,
                    acceptedFiles: 'image/png,image/gif,image/jpg,image/jpeg,image/bmp,image/x-icon,image/svg+xml,image/tiff,application/pdf,application/pdf,application/msword,application/vnd.openxmlformats-officewordprocessingml.document,application/vnd.oasis.openspreadsheet,application/vnd.oasis.opentext,application/vnd.ms-powerpoint,application/vnd.ms-excel,application/vnd.openxmlformats-officespreadsheetml.sheet',
                    autoProcessQueue: false,
                    addRemoveLinks: true,
                    dictRemoveFile: 'Supprimer',
                    dictMaxFilesExceeded: 'Vous ne pouvez téléverser que 3 fichiers veuillez en supprimer !',
                    dictFileTooBig: 'Fichier trop volumineux, jusqu\'à 1 mo par fichier !',
                    dictInvalidFileType: 'Fichier non valide seules les images et Microsoft Office Documents sont acceptés !',
     
                    init: function() {
                        myDropzone = this;
     
                        /* BTN ENVOYER */
                        $("#envoyer").click(function(e) {
                            valid = true;
                            if ($("#nom").val() == "") {
                                $('.msgSaisieNom').addClass('erreurSaisie');
                                $('#nom').focus();
                                valid = false;
                            }
                            $("#nom").keypress(function() {
                                $(".msgSaisieNom").removeClass('erreurSaisie');
                                $(".msgSaisieNom").val('');
                            });
                            if ($("#email").val() == "") {
                                $('.msgSaisieEmail').addClass('erreurSaisie');
                                $('#email').focus();
                                valid = false;
                            }
                            $("#email").keypress(function() {
                                $(".msgSaisieEmail").removeClass('erreurSaisie');
                                $(".msgSaisieEmail").val('');
                            });
                            if ($("#telephone").val() == "") {
                                $('.msgSaisieTelephone').addClass('erreurSaisie');
                                $('#telephone').focus();
                                valid = false;
                            }
                            $("#telephone").keypress(function() {
                                $(".msgSaisieTelephone").removeClass('erreurSaisie');
                                $(".msgSaisieTelephone").val('');
                            });
                            if ($("#adresse").val() == "") {
                                $('.msgSaisieAdresse').addClass('erreurSaisie');
                                $('#adresse').focus();
                                valid = false;
                            }
                            $("#adresse").keypress(function() {
                                $(".msgSaisieAdresse").removeClass('erreurSaisie');
                                $(".msgSaisieAdresse").val('');
                            });
                            if ($("#ville").val() == "") {
                                $('.msgSaisieVille').addClass('erreurSaisie');
                                $('#ville').focus();
                                valid = false;
                            }
                            $("#ville").keypress(function() {
                                $(".msgSaisieVille").removeClass('erreurSaisie');
                                $(".msgSaisieVille").val('');
                            });
                            if ($("#cp").val() == "") {
                                $('.msgSaisieCp').addClass('erreurSaisie');
                                $('#cp').focus();
                                valid = false;
                            }
                            $("#cp").keypress(function() {
                                $(".msgSaisieCp").removeClass('erreurSaisie');
                                $(".msgSaisieCp").val('');
                            });
                            if ($("#message").val() == "") {
                                $('.msgSaisieMessage').addClass('erreurSaisie');
                                $('#message').focus();
                                valid = false;
                            }
                            $("#message").keypress(function() {
                                $(".msgSaisieMessage").removeClass('erreurSaisie');
                                $(".msgSaisieMessage").val('');
                            });
     
                            e.preventDefault();
                            e.stopPropagation();
                            myDropzone.processQueue();
     
                            return valid;
     
                        }); /*BTN ENVOYER*/
     
                        /* BTN CLOSE */
                        $("#close").click(function() {
                                $("#frmDevis")[0].reset();
                                $("#divDropzone").html("");
                                $("#frmDevis").show();
                                $("#devisOk").removeClass("d-block");
                                $("#devisOk").addClass("d-none");
                                $(".msgSaisieNom").removeClass('erreurSaisie');
                                $(".msgSaisieEmail").removeClass('erreurSaisie');
                                $(".msgSaisieTelephone").removeClass('erreurSaisie');
                                $(".msgSaisieAdresse").removeClass('erreurSaisie');
                                $(".msgSaisieVille").removeClass('erreurSaisie');
                                $(".msgSaisieCp").removeClass('erreurSaisie');
                                $(".msgSaisieMessage").removeClass('erreurSaisie');
                            }), /*BTN CLOSE*/
     
                            this.on("sendingmultiple", function(file, xhr, formData) {
                                formData.append("nom", $("#nom").val());
                                formData.append("email", $("#email").val());
                                formData.append("telephone", $("#telephone").val());
                                formData.append("adresse", $("#adresse").val());
                                formData.append("ville", $("#ville").val());
                                formData.append("cp", $("#cp").val());
                                formData.append("message", $("#message").val());
                                formData.append("fpos", 777)
                                this.on("success", function() {
                                    $("#frmDevis").hide();
                                    $("#devisOk").removeClass("d-none");
                                    $("#devisOk").addClass("d-block");
                                });
                            })
                    } /*init: function*/
                }); /*.dropzone*/
            })); /*checkbox.change*/ /* if*/
     
        else {
            $("#divDropzone").removeClass("dropzone");
            $("#helpDocuments").addClass("d-none");
     
            $("#envoyer").click(function() {
                $.ajax({
                    url: 'insertDevis.php',
                    type: 'POST',
                    data: $('#frmDevis').serialize(),
                    done: function() {
                        // alert("ok");
                        $("#frmDevis").hide();
                        $("#devisOk").removeClass("d-none");
                        $("#devisOk").addClass("d-block");
                    }
                });
            })
        }
     
    }); /*document.ready*/
    Je vous remecie de votre aide

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    C'est quoi cette condition if($("input[type=checkbox][name=checkboxAjoutDocuments]").change(function() {..} ?

    Si tu cherches à savoir si les checkbox ont changé ou pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("input[type='checkbox']").change(function() {
      /* Le code ici...*/
    });

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    Par défaut
    Merci alors je fais comme ça et ça fonctionne mais même si on coche la case, les 2 requêtes ajax sont exécutées alors je me retrouve avec 2 fois les données texte enregistrées car j'ai 2 tables: 1 pour les données texte et 1 pour les documents (images etc.)

    Donc si la case est cochée, les 2 requêtes doivent s'exécuter mais si on ne la coche pas, dropzone est désactivée et cachée alors on enregistre seulement les données texte et ça çcela fonctionne bien.

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
     
    /* UPLOAD */
     
    $(document).ready(function() {
        $("input[type=checkbox][name=checkboxAjoutDocuments]").change(function() {
            $("#divDropzone").addClass("dropzone");
            $("#divDropzone").addClass("dz-clickable");
            $("#helpDocuments").removeClass("d-none");
            $("#helpDocuments").addClass("d-block");
            $("#lineAjoutDocuments").addClass("d-none");
     
            /*DROPZONE*/
            Dropzone.autoDiscover = false;
     
            // $(document).ready(function() {
            $("#divDropzone").dropzone({
                url: 'upload.php',
                parallelUploads: 100,
                paramName: 'file',
                maxFiles: 3,
                maxFilesize: 1.5,
                dictDefaultMessage: 'Cliquez pour ajouter des fichiers...',
                uploadMultiple: true,
                acceptedFiles: 'image/png,image/gif,image/jpg,image/jpeg,image/bmp,image/x-icon,image/svg+xml,image/tiff,application/pdf,application/pdf,application/msword,application/vnd.openxmlformats-officewordprocessingml.document,application/vnd.oasis.openspreadsheet,application/vnd.oasis.opentext,application/vnd.ms-powerpoint,application/vnd.ms-excel,application/vnd.openxmlformats-officespreadsheetml.sheet',
                autoProcessQueue: false,
                addRemoveLinks: true,
                dictRemoveFile: 'Supprimer',
                dictMaxFilesExceeded: 'Vous ne pouvez téléverser que 3 fichiers veuillez en supprimer !',
                dictFileTooBig: 'Fichier trop volumineux, jusqu\'à 1 mo par fichier !',
                dictInvalidFileType: 'Fichier non valide seules les images et Microsoft Office Documents sont acceptés !',
     
                init: function() {
                    myDropzone = this;
     
                    /* BTN ENVOYER */
                    $("#envoyer").click(function(e) {
                        valid = true;
                        if ($("#nom").val() == "") {
                            $('.msgSaisieNom').addClass('erreurSaisie');
                            $('#nom').focus();
                            valid = false;
                        }
                        $("#nom").keypress(function() {
                            $(".msgSaisieNom").removeClass('erreurSaisie');
                            $(".msgSaisieNom").val('');
                        });
                        if ($("#email").val() == "") {
                            $('.msgSaisieEmail').addClass('erreurSaisie');
                            $('#email').focus();
                            valid = false;
                        }
                        $("#email").keypress(function() {
                            $(".msgSaisieEmail").removeClass('erreurSaisie');
                            $(".msgSaisieEmail").val('');
                        });
                        if ($("#telephone").val() == "") {
                            $('.msgSaisieTelephone').addClass('erreurSaisie');
                            $('#telephone').focus();
                            valid = false;
                        }
                        $("#telephone").keypress(function() {
                            $(".msgSaisieTelephone").removeClass('erreurSaisie');
                            $(".msgSaisieTelephone").val('');
                        });
                        if ($("#adresse").val() == "") {
                            $('.msgSaisieAdresse').addClass('erreurSaisie');
                            $('#adresse').focus();
                            valid = false;
                        }
                        $("#adresse").keypress(function() {
                            $(".msgSaisieAdresse").removeClass('erreurSaisie');
                            $(".msgSaisieAdresse").val('');
                        });
                        if ($("#ville").val() == "") {
                            $('.msgSaisieVille').addClass('erreurSaisie');
                            $('#ville').focus();
                            valid = false;
                        }
                        $("#ville").keypress(function() {
                            $(".msgSaisieVille").removeClass('erreurSaisie');
                            $(".msgSaisieVille").val('');
                        });
                        if ($("#cp").val() == "") {
                            $('.msgSaisieCp').addClass('erreurSaisie');
                            $('#cp').focus();
                            valid = false;
                        }
                        $("#cp").keypress(function() {
                            $(".msgSaisieCp").removeClass('erreurSaisie');
                            $(".msgSaisieCp").val('');
                        });
     
                        if ($("#message").val() == "") {
                            $('.msgSaisieMessage').addClass('erreurSaisie');
                            $('#message').focus();
                            valid = false;
                        }
                        $("#message").keypress(function() {
                            $(".msgSaisieMessage").removeClass('erreurSaisie');
                            $(".msgSaisieMessage").val('');
                        });
     
                        e.preventDefault();
                        e.stopPropagation();
                        myDropzone.processQueue();
     
                        return valid;
     
                    }); /*BTN ENVOYER*/
     
                    /* BTN CLOSE */
                    $("#close").click(function() {
                            $("#frmDevis")[0].reset();
                            $("#divDropzone").html("");
                            $("#frmDevis").show();
                            $("#devisOk").removeClass("d-block");
                            $("#devisOk").addClass("d-none");
                            $(".msgSaisieNom").removeClass('erreurSaisie');
                            $(".msgSaisieEmail").removeClass('erreurSaisie');
                            $(".msgSaisieTelephone").removeClass('erreurSaisie');
                            $(".msgSaisieAdresse").removeClass('erreurSaisie');
                            $(".msgSaisieVille").removeClass('erreurSaisie');
                            $(".msgSaisieCp").removeClass('erreurSaisie');
                            $(".msgSaisieMessage").removeClass('erreurSaisie');
                        }), /*BTN CLOSE*/
     
                        this.on("sendingmultiple", function(file, xhr, formData) {
                            formData.append("nom", $("#nom").val());
                            formData.append("email", $("#email").val());
                            formData.append("telephone", $("#telephone").val());
                            formData.append("adresse", $("#adresse").val());
                            formData.append("ville", $("#ville").val());
                            formData.append("cp", $("#cp").val());
                            formData.append("message", $("#message").val());
                            formData.append("fpos", 777)
                            this.on("success", function() {
                                $("#frmDevis").hide();
                                $("#devisOk").removeClass("d-none");
                                $("#devisOk").addClass("d-block");
                            });
                        })
                } /*init: function*/
            }); /*.dropzone*/
        }); /*checkbox.change*/
    }); /*document.ready*/
     
    $(document).ready(function() {
        $("input[type=checkbox][name=checkboxAjoutDocuments]").not("checked")
        $("#divDropzone").removeClass("dropzone");
        $("#helpDocuments").addClass("d-none");
     
        $("#envoyer").click(function() {
            $.ajax({
                url: 'insertDevis.php',
                type: 'POST',
                data: $('#frmDevis').serialize(),
                done: function() {
                    // alert("ok");
                    $("#frmDevis").hide();
                    $("#devisOk").removeClass("d-none");
                    $("#devisOk").addClass("d-block");
                }
            })
        });
    }); /*document.ready*/

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    Avant de procéder à la solution, il faut vraiment que tu nettoies ton code, car c'est catastrophique.

    • Un seul $(document).ready() est suffisant.
    • Les écouteurs d'événements click,keypress... doivent être indépendants et à l'extérieur de dropzone.


    Un extrait :
    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
     
    Dropzone.autoDiscover = false;
    $(document).ready(function(){
        let myDropzone;
        /*Détruire le dropzone s'il est déjà attaché à #divDropzone */
        if ($("#divDropzone").get(0).dropzone) $("#divDropzone").get(0).dropzone.destroy();
     
         /*Le plugin dropzone doit être initialisé à chaque chargement de page donc :*/ 
         $("#divDropzone").dropzone({
              /*les options précédentes ....*/,
              init: function() {
                     myDropzone = this;
                     console.log("initialisé");
                     this.on("sendingmultiple", function(file, xhr, formData) {
                          formData.append("nom", $("#nom").val());
                          formData.append("email", $("#email").val());
                          formData.append("telephone", $("#telephone").val());
                          formData.append("adresse", $("#adresse").val());
                          formData.append("ville", $("#ville").val());
                          formData.append("cp", $("#cp").val());
                          formData.append("message", $("#message").val());
                          formData.append("fpos", 777)
                         this.on("success", function() {
                            $("#frmDevis").hide();
                            $("#devisOk").removeClass("d-none");
                            $("#devisOk").addClass("d-block");
                        });
                  });
             } /*fin init */
         });/*fin plugin*/
         /*Le click sur le button #activer doit être attaché une seule fois et pas plusieurs :*/
         $("#valider").click(function(e) {
            e.preventDefault();
            e.stopPropagation();
            //si la case est coché, on active le processus du dropzone afin qu'il envoi les fichiers au serveur
            if( $("input[name='checkboxAjoutDocuments']").is(':checked'))myDropzone.processQueue();
     
            /* c'est ici que tu dois faire les vérifications des valeurs pour envoyer ajax, et pourquoi ne pas utiliser l'attribut required tout simplement ? :*/
            $.ajax({.....});
     
         });/*fin #valider*/
     
     
     
        /*Les keypress :*/
        $("#nom,#email,#telephone,#adresse,#ville,#cp,#message")
        .keypress(function(){
            let upperFirstLetterId=$(this).attr('id')
               .toLowerCase()
               .replace(/\b[a-z]/g, function(letter) {
                  return letter.toUpperCase();
              });
             $(".msgSaisie" + upperFirstLetterId).removeClass("erreurSaisie");
        });
     
        /*Un bonus pour activer/désactiver le plugin en cochant/décochant le checkbox name="checkboxAjoutDocuments" */
        $("input[name='checkboxAjoutDocuments']")
        .change(function() {
          if ($(this).is(':checked')) myDropzone.enable();/*si la case est coché on active le plugin*/
          else myDropzone.disable(); /*sinon on le désactive */
        });
     
    });
    Comme je l'ai mentionné dans les commentaires, l'attribut required en HTML5 permet de contrôler la saisie, et le formulaire n'est pas soumit si la valeur est vide.

    Pour les keypress tu peux factoriser tous les éléments dans un seul sélecteur jQuery en les séparant par une virgule, puis tu n'as qu'à récupérer le id de l'élément et transformer la première lettre en majuscule puis le concaténer avec la chaine ".msgSaisie" et le résultat est : .msgSaisieNom, .msgSaisieEmail, .msgSaisieTelephone, .msgSaisieAdresse, .msgSaisieVille, .msgSaisieCp, .msgSaisieMessage.

    Voir aussi les méthodes de Dropzone

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    Par défaut
    Merci beaucoup, je vais regarder ça demain car ce que je viens de refaire ne fonctionne pas mieux.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    Par défaut
    Je reviens un peu tard mais je n'avais pas le temps de m'y remettre car je fais ça à temps perdu.

    Finalement, je fais comme ça sans me préoccuper de la case à cocher et cela fonctionne bien (les données sont bien enregistrées dans leurs tables respectives.) mais il ne tient pas compte de ma validation Bootstrap et c'est pourquoi je l'avais fait "manuellement" dans le script pourtant je l'initialise bien mais cette validation ne fonctionne que si je mets en commentaire le code de Dropzone.
    Cette validation Bootstrap est en js pur car c'est la version 5 alpha 3:


    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
    70
    71
    72
    73
    74
    75
     
    /*DROPZONE*/
    Dropzone.autoDiscover = false;
    $(document).ready(function() {
        let myDropzone;
        /*Détruire le dropzone s'il est déjà attaché à #divDropzone */
        if ($("#divDropzone").get(0).dropzone) $("#divDropzone").get(0).dropzone.destroy();
        $("#divDropzone").addClass("dropzone");
        $("#divDropzone").addClass("dz-clickable");
        $("#helpDocuments").removeClass("d-none");
        /*Le plugin dropzone doit être initialisé à chaque chargement de page donc :*/
        $("#divDropzone").dropzone({
            url: 'upload.php',
            parallelUploads: 100,
            paramName: 'file',
            maxFiles: 3,
            maxFilesize: 1.5,
            dictDefaultMessage: 'Cliquez pour ajouter des fichiers...',
            uploadMultiple: true,
            acceptedFiles: 'image/png,image/gif,image/jpg,image/jpeg,image/bmp,image/x-icon,image/svg+xml,image/tiff,application/pdf,application/pdf,application/msword,application/vnd.openxmlformats-officewordprocessingml.document,application/vnd.oasis.openspreadsheet,application/vnd.oasis.opentext,application/vnd.ms-powerpoint,application/vnd.ms-excel,application/vnd.openxmlformats-officespreadsheetml.sheet',
            autoProcessQueue: false,
            addRemoveLinks: true,
            dictRemoveFile: 'Supprimer',
            dictMaxFilesExceeded: 'Vous ne pouvez téléverser que 3 fichiers veuillez en supprimer !',
            dictFileTooBig: 'Fichier trop volumineux, jusqu\'à 1 mo par fichier !',
            dictInvalidFileType: 'Fichier non valide seules les images et Microsoft Office Documents sont acceptés !',
     
            init: function() {
                myDropzone = this;
                console.log("initialisé");
                this.on("sendingmultiple", function(file, xhr, formData) {
                    formData.append("nom", $("#nom").val());
                    formData.append("email", $("#email").val());
                    formData.append("telephone", $("#telephone").val());
                    formData.append("adresse", $("#adresse").val());
                    formData.append("ville", $("#ville").val());
                    formData.append("cp", $("#cp").val());
                    formData.append("message", $("#message").val());
                    formData.append("fpos", 777)
                    this.on("success", function() {
                        $("#frmDevis").hide();
                        $("#devisOk").removeClass("d-none");
                        $("#devisOk").addClass("d-block");
                    });
                });
            } /*fin init */
        }); /*fin plugin*/
     
        /* BTN CLOSE */
        $("#close").click(function() {
            $("#frmDevis")[0].reset();
            $("#divDropzone").html("");
            $("#frmDevis").show();
            $("#devisOk").removeClass("d-block");
            $("#devisOk").addClass("d-none");
        }) /*BTN CLOSE*/
     
        $("#valider").click(function(e) {
            e.preventDefault();
            e.stopPropagation();
     
            if ($("#divDropzone").html().length != 0) myDropzone.processQueue();
            $.ajax({
                url: 'insertDevis.php',
                type: 'POST',
                data: $('#frmDevis').serialize(),
                done: function() {
                    $("#frmDevis").hide();
                    $("#devisOk").removeClass("d-none");
                    $("#devisOk").addClass("d-block");
                }
            })
        }); /*fin #valider*/
     
    }); //document.ready
    Initialisation de la validation Bootstrap:
    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
    (function() {
        'use strict'
        // Fetch all the forms we want to apply custom Bootstrap validation styles to
        var forms = document.querySelectorAll('.needs-validation')
            // Loop over them and prevent submission
        Array.prototype.slice.call(forms)
            .forEach(function(form) {
                form.addEventListener('submit', function(event) {
                    if (!form.checkValidity()) {
                        console.log("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr");
                        event.preventDefault()
                        event.stopPropagation()
                    }
                    form.classList.add('was-validated')
                }, false)
            })
    })()

Discussions similaires

  1. Condition else qui ne fonctionne pas
    Par Bboop dans le forum Langage
    Réponses: 9
    Dernier message: 03/04/2017, 11h37
  2. if else qui ne fonctionne pas
    Par laurent33500 dans le forum Langage
    Réponses: 5
    Dernier message: 08/10/2015, 11h44
  3. Clause WHERE qui ne fonctionne pas
    Par Le Serval dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/08/2012, 09h33
  4. Clause WHERE qui ne fonctionne pas
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/05/2008, 12h40
  5. condition (if/else) qui ne fonctionne pas
    Par oceane751 dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2007, 23h58

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