Dans ce cas de figure, l'attribut href étant prioritaire, la soumission du formulaire ne peut avoir lieu si une URL est présente.
Il faudrait donc trouver un moyen pour l'enlever et conserver uniquement le javascript:void(0).
Normalement il y a pas de soucis, tu travail sur un moteur de template ou directement sur le code serveur ?
A la limite, tu peux tricher ("fin, pas vraiment) en manipulant le DOM et modifier la valeur de l'attribut href :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 document.getElementById('valid').href = 'javascript:void(0)'
Enfaite, j'avais oublié un else dans l'instruction (qui remplace le return false; après chaque if).
Au final :
Code javascript : 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 function CheckField(formulaire) { var FormRegisterForm = document.forms['RegisterForm']; var FormContactForm = document.forms['ContactForm']; if (formulaire == 'RegisterForm') { document.getElementById('valid').href = 'javascript:void(0)'; alert(document.getElementById('valid').href); if (FormRegisterForm.elements['Email'].value == '') { alert('Adresse email obligatoire !'); FormRegisterForm.elements['Email'].focus(); } else if (FormRegisterForm.elements['CGVDemandeEssai'].checked == false) { alert('Vous devez accepter les conditions générales obligatoire pour pouvoir poursuivre.'); FormRegisterForm.focus(); } else { FormRegisterForm.submit(); } } if (formulaire == 'ContactForm' ) { document.getElementById('valid').href = 'javascript:void(0)'; alert(document.getElementById('valid').href); if (FormContactForm.elements['EmailCtc'].value == '') { alert('Adresse email obligatoire !'); FormContactForm.elements['EmailCtc'].focus(); } else if (FormContactForm.elements['CGVDemandeEssaiCtc'].checked == false) { alert('Vous devez accepter les conditions générales obligatoire pour pouvoir poursuivre.'); FormContactForm.elements['CGVDemandeEssaiCtc'].focus(); } else { FormContactForm.submit(); } } }
Et mettre la bonne id du lien de validation pour le formulaire de contact.
Partager