我想驗證一個表單,但不起作用:\,當我提交表單到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