Bonjour,
j'ai un formulaire avec 2 champs à remplir. Dans le onsubmit de mon élément formulaire, je rend visible 2 messages d'erreur quand les champs sont vides et je renvoie false : du coup aucune action n'est engagée.
Quand je valide mon formulaires, mes 2 messages d'erreur apparaissent, puis disparaissent. C'est à dire que "display:none" semble se réinitialiser après que le browser ait éxécuté le "onsubmit".
Je ne comprends pas pourquoi mes messages disparaissent. A priori une fois que l'action javascript soit éxécuté, il ne devrait rien se passer. Pouvez-vous m'aider ? Merci
Mon formulaire :
Ma fonction javascript :
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 <form onsubmit="checkUserNameAndPassword();" method="post" action="${path}/createMessageForum"> <fieldset class="fieldset"> <legend>S identifier</legend> <table cellspacing="3" cellpadding="0" border="0" align="center"> <tbody> <tr> <td> Identifiant: <br/> <input class="bginput" type="text" tabindex="1" accesskey="u" size="50" id="userName" name="userName"/> <span id="userName_errorMessage" style="color:red;display:none;">Le champ identifiant est vide</span> </td> </tr> <tr> <td> Mot de passe: <br/> <input class="bginput" type="password" tabindex="1" size="50" id="password" name="password"/> <span id="password_errorMessage" style="color:red;display:none;">Le champ mot de passe est vide</span> </td> </tr> </tbody> </table> </fieldset> </form>
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 function checkUserNameAndPassword() { var result = true; var userName = document.getElementById('userName').value; var password = document.getElementById('password').value; if (userName=='') { document.getElementById('userName_errorMessage').style.display= 'block'; result= false; } else { document.getElementById('userName_errorMessage').style.display= 'none'; } if (password=='') { document.getElementById('password_errorMessage').style.display= 'block'; result= false; } else { document.getElementById('password_errorMessage').style.display= 'none'; } return result; }
Partager