gpt4 book ai didi

javascript - 提交时路由到另一个页面

转载 作者:行者123 更新时间:2023-11-30 15:50:04 26 4
gpt4 key购买 nike

我正在尝试用 javascript 创建一个登录页面。当正确的用户输入正确的用户名和密码时,它应该将他们带到另一个页面。我似乎找不到加载新页面的方法。

这是我的html

 <body>
<form name="myForm" onsubmit="return validation()" method="post">
User name:
<br>
<input type="text" name="userid">
<br> User password:
<br>
<input type="password" name="password">
<input type="submit" value="Submit" id="login">
</form>
</body>

这是我的JS

function validation() {
var x = document.forms["myForm"]["userid"].value;
var y = document.forms["myForm"]["password"].value;
if (x == "Naomi" && y == "Amaze") {
alert("RIGHT password");
return true;
window.location.href = "budget/index.html";
} else {
alert("Wrong password");
return false;
};


}

警报有效,所以我怀疑 window.location.href 不是正确的方法。

最佳答案

return 语句之后的任何内容都不会被执行。 return 是您函数的导出,因此请将其作为最后一条指令。

此外,我要补充一点,希望凭证测试不要在客户端 JavaScript 代码中完成,否则任何人都可以轻松检查您的代码并找到真正的凭证。

最后一件事:我通常倾向于在表单的 submit 事件上添加一个监听器,而不是要求它返回函数的结果。我不能确定为什么它更好,只是对我来说听起来更准确:

<body>
<form name="myForm" id="myForm" method="post">
User name:
<br>
<input type="text" name="userid">
<br> User password:
<br>
<input type="password" name="password">
<input type="submit" value="Submit" id="login">
</form>
</body>
// ...
<script type="text/javascript">
document.getElementById('myForm').addEventListener('submit', function(event){
// this line prevents the normal behaviour of the form (ie: reloading the page with form data sent as POST data)
event.preventDefault();

// now we can check the form data
var x = this.userid.value;
var y = this.password.value;
if (x == "Naomi" && y == "Amaze") {
alert("RIGHT password");
window.location.href = "budget/index.html";
} else {
alert("Wrong password");
};
});
</script>

关于javascript - 提交时路由到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39509415/

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