question de débutant : messages dans formulaire
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 :
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
|
<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> |
Ma fonction javascript :
Code:
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;
} |