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 :
EDIT : Voici le code HTML associé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !"); } } }); });
Quelqu'un pourrait-il m'expliquer pourquoi mon code pose tant de problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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.
Partager