Aller au contenu

Sujets conseillés

Posté (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.php

J'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é par julie1007
Posté

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.


Posté

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é...)


Posté

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 !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...