Plugin de validation marche quand il veut !
Bonjour à tous
Voilà plusieurs jours que je galère sur le plug in de validation jQuery. Plusieurs problèmes :
1) Le plugin marche quand il le souhaite
2) Il ne fait pas toutes les vérifications demandées
3) La soumission en AJAX ne marche pas...
Voici le code en question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
$(document).ready(function(){
// validate signup form on keyup and submit
$("#contacts-form").protect33({
action: "controllers/contactSubmit.php"
})
.validate({
rules : {
subject : "required",
mail : {
required : true,
email : true
},
websiteExp : {
url : true,
required : false
}
},
messages : {
subject : "Please choose a subject",
mail : "Please enter a valid email address",
websiteExp : "Please enter a valid URL."
},
submitHandler : function(form){
$(form).ajaxSubmit();
alert("submitted!");
if($("#nl-c").is(":checked")){
alert("subscribe !");
}
}
});
}); |
EDIT : Voici le code HTML associé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<form action="ma-page.php" id="contacts-form" method="post">
<div class="wrapper">
<div class="grid_15">
<div class="suffix_1">
<div id="statusMsg"></div>
<h2>Formulaire de Contact :</h2>
<h5>Pour toute demande qui ne rentrerais pas dans le cadre de ce formulaire, me joindre dirrectement par mail.</h5>
<p>Penssez à préciser l'objet et de bien remplir tous les champs supplémentaires marqués d'une <sup style="color: red; font-weight: bold;">*</sup>.<br />Merci d'utiliser <b>en priorité</b> ce formulaire et non les mail indiqués ci-dessus.</p>
<h5>Ma première réponse :</h5>
<p id="firstRespContact">C'est parce qu'un contact humain est important que je répondrais personnellement à chaque mail reçut.</p>
<fieldset>
<div class="grid_6 alpha">
<label>
<strong><sup style="color: red; font-weight: bold;">*</sup> E-mail:</strong><br />
<input name="mail" class="amTxt" type="email" value="votre@mail.com" />
</label>
<label>
<strong><sup style="color: red; font-weight: bold;">*</sup> Objet du mail :</strong><br />
<select name="subject" id="sub">
<option value=""></option>
<option value="other">Autre</option>
<option value="correc">Correction</option>
<option value="part">Demande de partenariat & co</option>
<option value="dl">Lien Mort</option>
<option value="report">Reporter</option>
</select>
</label>
</div>
<div class="grid_8 omega">
<strong>Message :</strong><br />
<textarea name="msg" class="amTxt">Merci d\'être concis et claire dans votre demande. Mettez en évidence le but de votre demande et préciser s'il y a lieu des d'éventuelles sources.</textarea>
<input type="submit" value="envoyer" id="mySubmit" />
</div>
</fieldset>
</div>
</div>
<div class="grid_9">
<!-- .box1 -->
<div class="box1">
<h2>Champs supplémentaires :</h2>
<h5><sup style="color: red; font-weight: bold;">*</sup> Champ(s) personnalisé(s) à votre demande :</h5>
<div id="supFields">
<p>Sujet précis : <input type="text" name="subjectDesc" size="25" class="required" /></p>
</div>
<h5>Site :</h5>
<p><input type="url" name="websiteExp" size="30" value="http://site.com" class="amTxt" /></p>
<h5>Comment avez-vous connu CréAlt ?</h5>
<p><select name="howKnown" id="howKnown">
<option value=""></option>
<option value="web">Sur le web</option>
<option value="press">Dans la presse</option>
<option value="search">Via une recherche</option>
<option value="bao">Bouche à Oreille</option>
</select></p>
<p id="precisionHownKnown"><i>Raison inconnue.</i></p>
<h5>Au passage, ...</h5>
<p>
<input type="checkbox" name="nl-c" /> Je souhaite m\'abonner à la newslettre de CréAlt<br />
<input type="checkbox" name="nl-t" /> Je souhaite m\'abonner à la newslettre de Tissmonde.net<br />
</p>
</div>
<!-- /.box1 -->
</div>
</div>
</form> |
Quelqu'un pourrait-il m'expliquer pourquoi mon code pose tant de problème ?
Pour infos, le protect33 est un plugin que je développe, et oui il retourne le $(this) (de toute manière, lui fonctionne très bien, et le plugin de validation ne marche pas même si j'enlève le mien...)
D'avance merci.