Formulaire de contact

Bonjour,

Je suis une vrai débutante, mon site est terminé il est déjà en ligne et je rencontre un problème le formulaire de contact ne marche pas.

est- ce qu'une âme charitable pourrait m'aider à comprendre l'erreur dans le script html ou php je planche dessus depuis une semaine et là je jette l'éponge

Script Html :

<h2 class="letter_spacing">Formulaire <span>de contact</span></h2>
<form id="contact.php" method="post" id="form">
<div>
<div class="wrapper">
<span>Votre nom:</span>
<input name="cf_name" class="input" >
</div>
<div class="wrapper">
<span>Votre email:</span>
<input name="cf_email" class="input" >
</div>
<div class="textarea_box">
<span>Votre message:</span>
<textarea name="cf_message" cols="1" rows="1"></textarea>
</div>
<a href="#" class="button1" onClick="document.getElementById('ContactForm').submit()">Envoyer</a>
<a href="#" class="button1" onClick="document.getElementById('ContactForm').reset()">Annuler</a>

script Php

<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];

$mail_to = '***@***';
$subject = 'demande de renseignements '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Merci pour votre message, nous traitons votre demande dans les plus brefs délais.');
window.location = 'index.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Votre message n'a pas été envoyé merci de nous contacter à l'adresse ***@***');
window.location = 'index.html';
</script>
<?php
}
?>

Le site est en ligne lilicrepes.fr

Merci pour votre aide

Lili

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    L'identifiant de ton formulaire est "form" alors que le bouton "valider" tente d'envoyer le formulaire "ContactForm". Il faut renommer ton formulaire :

    <form id="contact.php" method="post" id="ContactForm" name="ContactForm"> 
    1. Salut Cyril

      Merci pour ton aide mais ça ne marche toujours pas
      As-tu une autre idée???

      Merci

      Lili
      1. Lili,

        Tu peux également modifier la balise a, normalement il faut écrire onclick en minuscule :

        <a href="#" class="button1" onclick="document.getElementById('ContactForm').submit()">Envoyer</a> 
        


        Sinon il faudrait que tu vérifies s'il y a une erreur javascript qui se produit quand tu cliques sur "Envoyer".
        Pour voir cela, tu peux ouvrir la "console javascript" de ton navigateur (exemple pour google chrome : Tools > JavaScript console ).
        1. Salut Cyril

          Bon j'ai modifié les majuscules rien 'y fait et je suis allée sur tes conseils dans la console et là effectivement il y a une erreur

          Propriété « zoom » inconnue. Déclaration abandonnée. cdswidLNKR-v14145349919b.css:21
          12:03:06,295 TypeError: document.getElementById(...) is null

          mais là je suis perdue si tu as une idée je suis preneuse car là je patauge

          Merci encore pour ton aide
          Lili
          1. Sur IE
            j'ai le message suivant
            :
            SCRIPT5007: Impossible d'obtenir la propriété « submit » d'une référence null ou non définie
            Fichier : Contacts.html, ligne : 71, colonne : 1
            soit :
            <a href="#" class="button1" onclick="document.getElementById('ContactForm').submit()">Envoyer</a>
            <a href="#" class="button1" onclick="document.getElementById('ContactForm').reset()">Annuler</a>

            Voili voilà ou j'en suis

            merci
            1. Bonjour,

              Oups, je viens seulement de voir que la balise form a deux attributs "id" (La première devrait être "action"):
              <form action="contact.php" method="post" id="ContactForm" name="ContactForm">

              L'appel a getElementById devrait fonctionner maintenant :)
              1. Merci Cyril

                Tu es mon sauveur.

                Bonne journée

                Lili

                Si tu es en région parisienne c'est avec plaisir que je t'offrirai une crêpe.

                Bonne journée
                1. De rien :) C'est gentil pour la crêpe mais je n'habite pas en région parisienne.

                  Bonne journée à toi aussi.