我想验证一个表单,但不起作用:\,当我提交表单到mail.php即使所需的字段丢失,但我设置onsubmit
到validate()
所以它应该检查,但doesn没有工作。我的代码有什么问题?我找不到它。为什么我的表单不能正确验证?
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>
您绝不应该依赖客户端验证(即通过JS进行验证,而无需在服务器端进行等效验证)。遇到一个用户,无论出于何种原因都没有启用JS,那么很容易,然后进行验证。 – 2010-10-03 19:44:42
伙计们我修复了HTML错误,现在我的文档是有效的,但它仍然无效。 – Adam 2010-10-03 19:49:12