gpt4 book ai didi

javascript - 为什么当我从 onsubmit 返回 false 时我的 HTML 表单仍然提交?

转载 作者:太空狗 更新时间:2023-10-29 13:26:53 25 4
gpt4 key购买 nike

我编写了一个简单的脚本来验证登录表单,如下所示:

<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>

并将其命名为:

<form name="LoginForm" method="POST" onsubmit="return validateLoginForm()" action="Login" >
.
.
.
.
</form>

问题是 javaScript 在我正确设置时发出警报,但最后 Login servlet 也自动调用,这是错误的。为什么会这样?有什么解决办法吗?

最佳答案

重定向到登录发生是因为你有 js 错误。

您没有定义变量 idpsw

所以当你尝试 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;

关于javascript - 为什么当我从 onsubmit 返回 false 时我的 HTML 表单仍然提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com