Jump to content
Sign in to follow this  
julie1007

Problème Formulaire de contact

Recommended Posts

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;    });});});
Edited by julie1007

Share this post


Link to post
Share on other sites

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.


Share this post


Link to post
Share on other sites

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


Share this post


Link to post
Share on other sites

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 !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...