j'ai un petit soucis, le message "merci !..." après l'envoi du formulaire ne s'affiche pas.
Pourtant, les mails sont bien envoyés au destinataire et la confirmation d'envoi à l'user. du coup, l'user click plusieurs fois sur le bouton "envoyer" en croyant que ça ne fonctionne pas mais si ! alors l'user et le destinataire reçoivent autant de mail que de click!
pouvez-vous m'aider à trouver mon erreur ?
le formulaire sur la page contact.html :
<form id="contactform" action="ContactReponse.php#reponseform" method="post" class="validateform" name="send-contact" enctype="multipart/form-data">
<input type="text" name="societe" id="societe" placeholder="Société">
<input type="text" name="nom" placeholder="Nom*" required />
<input type="text" name="tel" id="tel" placeholder="00 00 00 00 00*" required>
<input type="email" name="email" id="email" placeholder="Email*"required>
<select name="objet" id="objet" placeholder="Objet*" required>
<option value="">Objet*...</option>
<option value="Demande de devis">J'ai un projet et je veux un devis</option>
<option value="Demande de RDV">Je souhaite vous rencontrer</option>
<option value="Demande de documentation Sovilec">Je souhaite en savoir plus sur Sovilec</option>
<option value="Proposition d'un partenariat">Je veux vous proposer un partenariat</option>
<option value="Service comptabilité">Ma demande concerne le service comptabilité</option>
</select>
<textarea name="message" id="message" class="input-block-level" rows="8" placeholder="Message*" required></textarea>
<span class="pull-right etoile">* Champs obligatoires</span>
<button type="submit" class="btn btn-theme margintop10 pull-right">Envoyer</button>
<button type="reset" class="btn btn-theme margintop10 pull-right">Effacer</button>
</form>
la réponse sur la page ContactReponse.php :<fieldset>
<legend><a name="reponseform">Votre demande de contact</a></legend>
<?php
$nom = $_POST['nom'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$societe = $_POST['societe'];
$objet = $_POST['objet'];
$complement = $_POST['message'];
if(
empty($nom) == true or
empty($email) == true or
empty($complement) == true
){
echo "Erreur : veuillez remplir les champs obligatoires !";
}else{
$destinataire = "[email protected]";
$sujet = "Contact : ".$objet;
$message = "
Vous avez reçu une demande sur site.com : $objet
Société : $societe
Nom : $nom
Téléphone : $tel
Email : $email
Message : $complement
";
if(mail($destinataire,$sujet,$message)){
echo "Merci !";
$destinataire = $email;
$sujet = "Confirmation d'envoi";
$message = "
Madame, Monsieur,
Nous accusons réception de votre demande et vous en remercions.
Votre demande sera traitée dans les meilleurs délais.
Restant à votre disposition.
L'équipe x
------------------------------
détails de la demande :
------------------------------
Société : $societe
Nom : $nom
Téléphone : $tel
Email : $email
Message : $complement
";
if(mail($destinataire,$sujet,$message)){
echo "Votre message a bien envoyé. \n\n
Vous recevrez prochainement une confirmation d'envoi par email. \n\n
<a href=\"Contact.html\">retour</a>";
}else{
echo "Veuillez réessayer plus tard.";
}
}else{
echo "Veuillez réessayer plus tard.";
}
}
?>
</fieldset>
et le code javascript de la page validate.js :
jQuery(document).ready(function($) {
"use strict";
//Contact
$('form.validateform').submit(function(){
var f = $(this).find('.field'),
ferror = false,
emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
f.children('input').each(function(){
var i = $(this); // current input
var rule = i.attr('data-rule');
if( rule != undefined ){
var ierror=false;
var pos = rule.indexOf( ':', 0 );
if( pos >= 0 ){
var exp = rule.substr( pos+1, rule.length );
rule = rule.substr(0, pos);
}else{
rule = rule.substr( pos+1, rule.length );
}
switch( rule ){
case 'required':
if( i.val()=='' ){ ferror=ierror=true; }
break;
case 'maxlen':
if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
break;
case 'email':
if( !emailExp.test(i.val()) ){ ferror=ierror=true; }
break;
case 'checked':
if( !i.attr('checked') ){ ferror=ierror=true; }
break;
case 'regexp':
exp = new RegExp(exp);
if( !exp.test(i.val()) ){ ferror=ierror=true; }
break;
}
i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
}
});
f.children('textarea').each(function(){
var i = $(this);
var rule = i.attr('data-rule');
if( rule != undefined ){
var ierror=false;
var pos = rule.indexOf( ':', 0 );
if( pos >= 0 ){
var exp = rule.substr( pos+1, rule.length );
rule = rule.substr(0, pos);
}else{
rule = rule.substr( pos+1, rule.length );
}
switch( rule ){
case 'required':
if( i.val()=='' ){ ferror=ierror=true; }
break;
case 'maxlen':
if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
break;
}
i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
}
});
if( ferror ) return false;
else var str = $(this).serialize();
$.ajax({
type: "POST",
url: "ContactReponse.php#reponseform",
data: str,
success: function(msg){
$("#sendmessage").addClass("show");
$("#errormessage").ajaxComplete(function(event, request, settings){
if(msg == 'OK')
{
$("#sendmessage").addClass("show");
}
else
{
$("#sendmessage").removeClass("show");
result = msg;
}
$(this).html(result);});}});
return false;
});
});
si vous pouviez m'aider, svp ?!!merci
Nabb2