Quantcast
Viewing latest article 6
Browse Latest Browse All 9

Par : romain

et javascript corrigé :

$(function() {

// load the modal window
$(‘a.modal’).click(function(){

// scroll to top
$(‘html, body’).animate({scrollTop:0}, ‘fast’);

// before showing the modal window, reset the form incase of previous use.
$(‘.success, .error’).hide();
$(‘form#contactForm’).show();

// Reset all the default values in the form fields
$(‘#name’).val(‘Votre nom et prénom’);
$(‘#email’).val(‘Votre adresse mail’);
$(‘#comment’).val(‘Votre demande/message…’);
$(‘#ville’).val(‘Votre ville’);
$(‘#telephone’).val(‘Votre numéro’);

//show the mask and contact divs
$(‘#mask’).show().fadeTo( », 0.7);
$(‘div#contact’).fadeIn();

// stop the modal link from doing its default action
return false;
});

// close the modal window is close div or mask div are clicked.
$(‘div#close, div#mask’).click(function() {
$(‘div#contact, div#mask’).stop().fadeOut(‘slow’);

});

$(‘#contactForm input’).focus(function() {
// $(this).val(‘ ‘); <– celui là, il était traitre !
$(this).val('');
});

$('#contactForm textarea').focus(function() {
$(this).val('');
});

// when the Submit button is clicked…
$('input#submit').click(function() {
$('.error').hide().remove();

//Inputed Strings

var username = $('#name').val();
var email = $('#email').val();
var ville = $('#ville').val();
var telephone = $('#telephone').val();
var comment = $('#comment').val();

//Error Count
// var error_count;
var error_count = 0;

//Regex Strings
// var username_regex = /^[a-z0-9_-]{3,16}$/, //Original
var username_regex = new RegExp('^[ a-zéèàùçÇêÉÈÀÙôÔâÂîÎ0-9_-]{3,32}$','i'); // une erreur ici : la ligne était finie par une virgule, au lieu d'un point virgule… J'ai ajouté les majuscules et espaces au masque de contrôle, et allongé la limite, car le formulaire indique Nom & Prénom, 16 caractères, ça peut être trop court…
// email_regex = /^([a-z0-9_\.-]+)@([a-z0-9\.-]+)\.([\ba-z\.]{2,6})$/; //Original
var email_regex = new RegExp('^([a-z0-9_\.-]+)@([a-z0-9\.-]+)\.([\ba-z\.]{2,6})$', 'i'); //Original

//Test Username
if(!username_regex.test(username)) {
$('#contact_header').after('Nom invalide !’);
error_count += 1;
}

//Test Email
if(!email_regex.test(email)) {
$(‘#contact_header’).after(‘Erreur de mail !’);
error_count += 1;
}

//Blank Comment?
if(comment ==  ») {
$(‘#contact_header’).after(‘Aucun commentaire écris !’);
error_count += 1;
}

//No Errors?
if(error_count === 0) {
$.ajax({
type: « post »,
url: « send.php »,
// data: « $name= » + name + « &email= » + email + « $ville » + ville + « $telephone » + telephone + « &comment= » + comment, //ORIGINAL
data: « name= » + username + « &email= » + email + « &ville= » + ville + « &telephone= » + telephone + « &comment= » + comment,
error: function(return_val) { // Si l’envoi au script PHP foire : return_val = le contenu d’une page introuvable, ex : 404 etc. (ça dépendra de la config du serveur)
//DEVMODE alert(‘error : ‘+return_val);
// $(‘.error’).hide();
$(‘#contact_header’).after(« Module d’envoi introuvable. »);
$(‘.error’).show();
$(‘#sendError’).slideDown(‘slow’);
},
success: function (return_val) { // return_val = sent | empty | trigger_error de la fonction mail()
//DEVMODE alert(‘success : ‘+return_val);
if(return_val == ‘sent’){
$(‘.error’).hide();
$(‘.success’).slideDown(‘slow’);
$(‘form#contactForm’).fadeOut(‘slow’);
}else if(return_val == ‘empty’){ //L’un des champs, traité par PHP est NULL, l’envoi a donc été validé par JS, mais bloqué par PHP
$(‘#contact_header’).after(« Le formulaire est incomplet. »);
$(‘.error’).show();
$(‘#sendError’).slideDown(‘slow’);
}
else{ // La fonction mail() de PHP a retourné une erreur.
$(‘#contact_header’).after(« Le site est actuellement dans l’impossibilité technique d’envoyer des messages. »); // Version officielle
// $(‘#contact_header’).after(«  »+return_val+ »"); // Version DEVMODE (déboggage)
$(‘.error’).show();
$(‘#sendError’).slideDown(‘slow’);
}
}

});
}

else {
$(‘.error’).show();
}

return false;
});

});


Viewing latest article 6
Browse Latest Browse All 9

Trending Articles