julie1007 Posté 13 Juin 2013 Posté 13 Juin 2013 (modifié) Bonjour à tous,J'ai un problème avec la validation de mon formulaire.Lorsque le client rempli mon le formulaire de contact et qu'il clique sur "ENVOYER", les informations me sont bien transmises sur mon mail en revanche le message de confirmation (votre mail à bien été envoyé ...) n'apparait pas chez le client !Rien ne se passe, sauf lorsque que j'enlève id="contact-form" du formulaire, alors la le client est redirigé vers la page send.phpJ'ai tout essayé en puisant dans mes connaissances et dans google mais rien à faire.Il faut savoir une chose, ce site est hébergé chez OVH, et un autre de mes sites est également hébergé chez OVH, celui-ci utilise le même formulaire et ça fonctionne. J'ai fais des tonnes d'essais en prenant les pages du site qui fonctionne et en les mettant sur l'autre, ... rien à faire ! J'ai l'impression que le problème vient du serveur du 1er site ... mais la il me faut une solution alternative que je n'ai pas ! HELP ME PLEASE ! LE FORMULAIRE (page html) <form action="send.php" id="contact-form" method="post"> <fieldset> <label>Nom <span class="required">*</span></label> <input type="text" name="name" id="Myname" value="" class="text requiredField"/> </fieldset> <fieldset> <label>Email <span class="required">*</span></label> <input type="text" name="email" id="myemail" value="" class="text requiredField email"/> </fieldset> <fieldset> <label>Objet <span class="required">*</span></label> <input type="text" name="subject" id="mySubject" value="" class="text requiredField subject"/> </fieldset> <fieldset> <label>Votre Message <span class="required">*</span></label> <textarea name="message" id="Mymessage" rows="20" cols="30" class="text requiredField"></textarea> </fieldset> <fieldset> <input name="Mysubmitted" id="Mysubmitted" value="Send Message" class="button dark-blue" type="submit"/> </fieldset> </form> send.php <?php if($_POST){ $to = '......@.....com'; $subject = $_POST['subject']; $from_name = $_POST['name']; $from_email = $_POST['email']; $message = $_POST['message']; $header = "From: $from_name <$from_email>"; mail($to, $subject, $message, $header); }?> extrait custom.js jQuery.noConflict()(function($){$(document).ready(function() { $('form#contact-form').submit(function() { $('form#contact-form .error').remove(); var hasError = false; $('.requiredField').each(function() { if(jQuery.trim($(this).val()) == '') { var labelText = $(this).prev('label').text(); $(this).parent().append('<div class="error">You forgot to enter your '+labelText+'</div>'); $(this).addClass('inputError'); hasError = true; } else if($(this).hasClass('email')) { var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; if(!emailReg.test(jQuery.trim($(this).val()))) { var labelText = $(this).prev('label').text(); $(this).parent().append('<div class="error">You entered an invalid '+labelText+'</div>'); $(this).addClass('inputError'); hasError = true; } } }); if(!hasError) { $('form#contact-form input.submit').fadeOut('normal', function() { $(this).parent().append(''); }); var forMИНput = $(this).serialize(); $.post($(this).attr('action'),forMИНput, function(data){ $('form#contact-form').slideUp("fast", function() { $(this).before('<div class="simple-success">Le formulaire a bien été envoyé. Nous prendrons contact avec vous rapidement.</div>'); }); }); } return false; });});}); Modifié 13 Juin 2013 par julie1007
SStephane Posté 13 Juin 2013 Posté 13 Juin 2013 En partant du principe que les caractères spéciaux soient absents de ton code: $.post($(this).attr('action'),forMИНput, function(data){ $('form#contact-form').slideUp("fast", function() { $(this).before('<div class="simple-success">Le formulaire a bien été envoyé. Nous prendrons contact avec vous rapidement.</div>'); }); }); $(this) n'est sans doute pas défini, remplace le par $('form#contact-form') pour voir, sinon, donne l'URL de la page, c'est plus simple pour te donner une réponse. D'autre part, $header = "From: $from_name <$from_email>"; Il faut echapper ces variables, ton formulaire est faillible.
julie1007 Posté 13 Juin 2013 Auteur Posté 13 Juin 2013 (modifié) En effet les caractères spéciaux ont sautés. Je viens de faire la modif Modifié 13 Juin 2013 par julie1007
SStephane Posté 13 Juin 2013 Posté 13 Juin 2013 Tu n'as pas une erreur dasn ton fichier jquery.min.js ? essaie de le remplacer pour celui sur googlecode temporairement. (le débogueur renvoi une erreur en tout cas et comme il est compressé...)
julie1007 Posté 13 Juin 2013 Auteur Posté 13 Juin 2013 Tu n'as pas une erreur dasn ton fichier jquery.min.js ? essaie de le remplacer pour celui sur googlecode temporairement. (le débogueur renvoi une erreur en tout cas et comme il est compressé...) Bien vu !! J'ai récupéré le code de googlecode, je l'ai remplacé et ça fonctionne ! Merci, Merci, Merci !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant