0
我有一個很直接的JavaScript表單驗證腳本編寫:Javascript表單驗證無效 - 腳本沒有被調用?
function validateForm(){
var x=document.forms["contactForm"]["firstname"].value;
if (x==null || x==""){
return false;
}
var y=document.forms["contactForm"]["lastname"].value;
if (y==null || y==""){
return false;
}
var z=document.forms["contactForm"]["emailaddress"].value;
var atpos=z.indexOf("@");
var dotpos=z.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=z.length){
return false;
}
var msg_area = document.getElementById("message");
msg_area.innerHTML = "";
if (document.getElementById("message").value.length < 20) {
return false;
}
else document.getElementById("contactForm").submit();
}
它應該可以驗證這種形式:
<form name="contactForm" onsubmit="return validateForm()" action="./thankyou.html" method="post">
<label for="firstName">First Name <sup>*</sup></label>
<input name ="firstname" id="firstName" type="text" placeholder="First Name" required />
<label for="lastName">Last Name <sup>*</sup></label>
<input name ="lastname" id="lastName" type="text" name="lastName" placeholder="Last Name" required />
<label for="emailaddress">Email address <sup>*</sup></label>
<input name="emailaddress" id="emailAddress" type="email" placeholder="[email protected]" required />
<label for="message">Message<sup>*</sup></label>
<textarea id="message" placeholder="Remember, be nice!" required></textarea>
<input type="submit" name="submit" value="Email Me!" class="emailsub" />
<p class="small"><sup>*</sup> denotes a required field.</p>
</form>
當它提交,它似乎並沒有實際調用所有的JavaScript。它唯一看起來就是它符合html的「必需」部分。我對JavaScript很新,所以它可能明顯地顯而易見地出現問題,但我無法自己找到它。
任何幫助非常感謝!
p.s.這是針對本地網站的,因此action =「」轉到另一個html而不是一個頁面來處理消息。這可能是問題嗎?
你在控制檯遇到什麼錯誤? –
這是一個錯字'document.getElementById(「message」).value.length''? –
奇怪的是,我沒有在控制檯中看到任何錯誤。是的,那是一個錯字,對不起。 :/ – nerdarama