當我點擊提交按鈕時,它只是加載下一頁,而不是運行JavaScript代碼。Javascript表單驗證不被稱爲
這是我的javascript代碼:
function Validate(thisForm)
{
alert("started");
var username22 = document.thisForm.getElementById('username');
var password22 = document.thisForm.getElementById('password');
var password222 = document.thisForm.getElementById('password2');
var email22 = document.thisForm.getElementById('email');
var email222 = document.thisForm.getElementById('email2');
var legalcheck22 = document.thisForm.getElementById('legal');
alert("started 2");
if(username22.value == "")
{
alert("Please enter a username.");
focus.username22;
return false;
}
alert("started 3");
if(password22.value.length < 5)
{
alert("Password needs to be at least 5 characters long.");
focus.password22;
return false;
}
alert("started 4");
if(password22.value != password2.value)
{
alert("Passwords don't match.");
focus.password22;
return false;
}
alert("started 5");
if(email22.value == "")
{
alert("Please enter an email.");
focus.email22;
return false;
}
alert("started 6");
if(email222.value == "")
{
alert("Please confirm your email.");
focus.email222;
return false;
}
alert("started 7");
if(email22.value != email222.value)
{
alert("Emails don't match.");
focus.email22;
return false;
}
if(legalcheck22.checked == false)
{
alert("You need to agree to our Terms and Conditions.");
focus.legalcheck22;
return false;
}
alert("pass");
return true;
}
這是我的形式
<div class="formLayout">
<form id="registerForm" name="registerForm" method="post" onsubmit="return Validate(registerForm)" action="register.php" >
<h3 class="centeredText">Register Account</h3>
<p>
<label>Username</label>
<input name="username" id="username" />
<br />
<label>Password</label>
<input name="password" type="password" id="password" />
<br />
<label>Confirm Passwrd</label>
<input name="password2" type="password" id="password2" />
<br />
<label>Email</label>
<input name="email" id="email" />
<br />
<label>Confirm Email</label>
<input name="email2" id="email2" />
<br />
<label>Captcha</label>
<input id="captcha" />
</p>
<p> </p>
<div id="centerButtons">
<input type="submit" name="register" id="register" value="Register" />
<input type="reset" name="register2" id="register2" value="Reset" />
<p> </p>
</div>
<!-- end of centerButtons-->
<p>
<input type="checkbox" name="legal" id="legal" />
<label for="legal">I agree to the <a href="terms.html">Terms and Conditions</a>.</label>
</p>
<p> </p>
<p> </p>
</form>
</div>
<!-- end of formLayout div-->
我不知道爲什麼在頁面加載保持在JavaScript代碼開始。它設法顯示第一個警報(「已啓動」),然後重新加載頁面。你能幫我解決嗎?謝謝
你知道什麼是有趣的,你寫了所有這些(我懷疑它),你甚至沒有測試它,如果它工作或不? – gdoron 2013-04-29 21:01:23
我是從頭開始寫的,我怎麼沒有測試過它?我顯然在這裏張貼,因爲它不起作用。 – 2013-04-29 21:03:17
您的'