J'essaie de valider un formulaire, mais ne fonctionne pas: \, Quand je soumets le formulaire va à mail.php même si les champs requis sont manquants, mais j'ai mis onsubmit
à validate()
donc il devrait vérifier, mais doesn ne fonctionne pas. Quel est le problème avec mon code? Je ne peux pas le trouver.Pourquoi mon formulaire ne valide pas correctement?
HTML:
<form action="mail.php" onsubmit="return validate()" method="post" class="contact-form" id="contactForm">
<div id="errors"></div>
<label for="author">Name:</label><br/><br/>
<input type="text" name="author" id="message" /><br/><br/>
<label for="author">Message:</label><br/><br/>
<textarea name="message" id="message"></textarea><br/><br/>
<input type="submit" class="button" value="Send Message"/>
</form>
Javascript:
<script type="text/javascript">
function error(message){
return "<p class=\"error\">"+message+"</p>";
}
function validate(){
var form = document.getElementById("contactForm");
var author = document.getElementById("author");
var message = document.getElementById("messsage");
var errors = document.getElementById("errors");
alert(author.value);
if(message.value == '' || author.value == ''){
errors.innerHTML = error("Please fill in all fields.");
return false;
} else {
return true;
}
}
</script>
Vous ne devriez jamais compter sur la validation côté client (c'est-à-dire la validation via JS sans la validation équivalente côté serveur). Il est très facile de rencontrer un utilisateur qui n'a pas JS activé pour une raison quelconque, et ensuite votre validation. –
Les gars J'ai corrigé les erreurs HTML, maintenant mon document est valide, mais cela ne fonctionne toujours pas. – Adam