Bonjour,
J'ai fait un formulaire en Jquery, tout marche sauf un petit soucis au niveau du removeClass des champs input quand il y une erreur.
Quand il y a une erreur les champs passe en gris, et normalement quand on reclic dessus la classe erreur doit etre suprimer pour retourner au fond blanc.
Voila mon site : http://www.damienbouvier-webdesigner.com/
voici mon code jQuery :
contact = {
init : function() {
jQuery('a.btnContact').click(function() { contact.showContact(jQuery(this)); return false; })
/*la j'enlève la classe d'erreur */
jQuery('#ImageBoxContent #FormContact input, #ImageBoxContent #FormContact textarea').blur(function() { jQuery(this).removeClass('inputError'); })
jQuery('#FormContact').submit(function() { contact.send(); return false; })
},
showContact : function(item) {
lightbox.open('#BlocFormContact', 830);
if (item.attr('title'))
jQuery('#ImageBox #objet').val(item.attr('title'));
},
send : function () {
var erreur = false;
var txtEmailAddressValue = jQuery("#ImageBox #FormContact #mail").val();
function IsValidEmail(mail){
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
return filter.test(mail);
}
/*if ((jQuery("#ImageBox #societe").val().length <= 0) || (jQuery("#societe").val().length > 64)) {
jQuery('#ImageBox #societe').addClass('inputError');
erreur = true;
}*/
if ((jQuery("#ImageBoxContent #nom").val().length <= 0) || (jQuery("#nom").val().length > 35)) {
jQuery('#ImageBoxContent #nom').addClass('inputError');
erreur = true;
}
if ((jQuery("#ImageBoxContent #prenom").val().length <= 0) || (jQuery("#prenom").val().length > 35)) {
jQuery('#ImageBoxContent #prenom').addClass('inputError');
erreur = true;
}
if ((jQuery("#ImageBoxContent #mail").val().length <= 0) || (jQuery("#mail").val().length > 64) || (!IsValidEmail(txtEmailAddressValue))) {
jQuery('#ImageBoxContent #mail').addClass('inputError');
erreur = true;
}
if ((jQuery("#ImageBoxContent #civilite").val().length <= 0) || (jQuery("#civilite").val().length > 64)) {
jQuery('#ImageBoxContent #civilite').addClass('inputError');
erreur = true;
}
if ((jQuery("#ImageBoxContent #objet").val().length <= 0) || (jQuery("#objet").val().length > 64)) {
jQuery('#ImageBoxContent #objet').addClass('inputError');
erreur = true;
}
if (jQuery("#ImageBoxContent #message").val().length <= 0) {
jQuery('#ImageBoxContent textarea').addClass('inputError');
erreur = true;
}
if (erreur == true) {
alert('Veuillez remplir tous les champs correctement.');
}
else {
var retour = 'Votre message a bien été envoyé.';
jQuery.post("contact.php", jQuery("#FormContact").serialize(), function(data) {
retour = data;
});
// jQuery("#ImageBox #societe").val('');
jQuery("#ImageBox #nom").val('');
jQuery("#ImageBox #prenom").val('');
jQuery("#ImageBox #mail").val('');
jQuery("#ImageBox #civilite").val('');
jQuery("#ImageBox #objet").val('');
jQuery("#ImageBox #message").val('');
// lightbox.open(retour, 830);
alert(retour);
}
return false;
}
}
jQuery(function() {
contact.init();
})
cela me semble correcte pourtant mais il ne veut pas m'enlever la classe erreur, apparemment j'ai un soucis pour sélectionner les "input" et texteaera.
Afficher la suite