Asi*_*sif 9 html javascript forms
我写了一个简单的脚本来验证登录表单,如下所示:
<script type="text/javascript">
function validateLoginForm(){
var idV = document.forms["LoginForm"]["id"].value;
var pwdV = document.forms["LoginForm"]["pwd"].value;
if (idV == null || idV == "" || idV.length < 5) {
alert("user ID must be filled and of more than 4 characters!!");
id.focus();
return false;
}
if (pwdV == null || pwdV == "" || pwdV.length < 5) {
alert("Password must be filled and of more than 4 characters!!");
pwd.focus();
return false;
}
return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)
并称之为:
<form name="LoginForm" method="POST" onsubmit="return validateLoginForm()" action="Login" >
.
.
.
.
</form>
Run Code Online (Sandbox Code Playgroud)
问题是javaScript在我正确设置时发出警报,但最后Loginservlet也自动调用,这是一个错误的事情.为什么会发生这种情况?有解决方案吗
重定向到登录是因为您有 js 错误。
您没有定义变量id和psw.
所以当你尝试id.focus()或psw.focus()- 你有js错误并默认返回true
所以添加这个代码:
var id = document.forms["LoginForm"]["id"];
var pwd = document.forms["LoginForm"]["pwd"];
var idV = document.forms["LoginForm"]["id"].value;
var pwdV = document.forms["LoginForm"]["pwd"].value;
Run Code Online (Sandbox Code Playgroud)