這段代碼在<form>中有οnsubmit="return on_submit()",如果 onsubmit ()返回 fasle,表單的元素就不會提交,即action="regist.php"不會執行,如果該函數返回其他值或什么都沒有返回,則表單會被提交,即執行action="regist.jsp"。也就是說,onsubmit是用來驗證輸入信息,而action是提供一個表單完成被提交的路徑,當onsubmit為false時表單不會提交。
<form method="post" name="form" action="register.php" onSubmit="return beforeSubmit(this);">
<script type="text/javascript"> function beforeSubmit(form){ ...
<fieldset>
<legend>用戶注冊</legend>
<form method="post" name="form" action="user.do?method=register" onSubmit="return beforeSubmit(this);">
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<tr><td><label>用戶名:<input type="text" name="username" value=""></label></td></tr>
<tr><td><label>密 碼:<input type="password" name="password" value=""></label></td></tr>
<tr><td><label>重復密碼:<input type="password" name="password2" value=""></label></td></tr>
<tr><td><input value="注冊" type="submit"> <input type="reset" value="重置"></td></tr>
</table>
</form>
</fieldset>
<script type="text/javascript">
function beforeSubmit(form){
if(form.username.value==''){
alert('用戶名不能為空!');
form.username.focus();
return false;
}
if(form.password.value==''){
alert('密碼不能為空!');
form.password.focus();
return false;
}
if(form.password.value.length<6){
alert('密碼至少為6位,請重新輸入!');
form.password.focus();
return false;
}
if(form.password.value!=form.password2.value) {
alert('你兩次輸入的密碼不一致,請重新輸入!');
form.password2.focus();
return false;
}
return true;
}
</script>
