Javascript-简单登录重定向
阅读了一些JavaScript教程,并尝试创建一个简单的登录系统。为此,我使用了以下代码。警报行正确执行,但重定向行似乎不会产生任何结果 问题:我如何才能让它工作?代码有什么问题 注意:我知道这不是一个安全的登录系统。我只需要它在满足不同条件时正确重定向 我还尝试了重定向行的不同语法(删除引号、括号等)。它们似乎都不起作用……以防这只是一个语法错误 代码:Javascript-简单登录重定向,javascript,login,system,Javascript,Login,System,阅读了一些JavaScript教程,并尝试创建一个简单的登录系统。为此,我使用了以下代码。警报行正确执行,但重定向行似乎不会产生任何结果 问题:我如何才能让它工作?代码有什么问题 注意:我知道这不是一个安全的登录系统。我只需要它在满足不同条件时正确重定向 我还尝试了重定向行的不同语法(删除引号、括号等)。它们似乎都不起作用……以防这只是一个语法错误 代码: <form name="loginForm" onsubmit="loginCheck()" method="post">
<form name="loginForm" onsubmit="loginCheck()" method="post">
<input type="text" name="userName"><br>
<input type="text" name="passWord"><br><br>
<input type="submit" value="Login">
</form>
<script>
function loginCheck() {
var usr=document.loginForm.userName.value;
var psw=document.loginForm.passWord.value;
var username="admin";
var password="admin";
if ((usr==username) && (psw=password)) {
alert ("True Info");
window.location.href ("http://www.google.com");
return true;
}
else {
alert ("False Info");
window.location.href ("http://www.google.com");
return false;
}
}
</script>
函数loginCheck(){
var usr=document.loginForm.userName.value;
var psw=document.loginForm.passWord.value;
var username=“admin”;
var password=“admin”;
如果((usr==用户名)和&(psw=密码)){
警报(“真实信息”);
window.location.href(“http://www.google.com");
返回true;
}
否则{
警报(“虚假信息”);
window.location.href(“http://www.google.com");
返回false;
}
}
有三个问题:
href
是一个字符串,而不是函数,因此将其作为函数调用将抛出except并中止脚本false
,因此表单将提交并覆盖您对location
location=”http://www.google.com/";代码>
onsubmit=“Return loginCheck();”
=
和==
的位置请注意,内在事件属性是我们在90年代编写JavaScript的方式。编码实践已经改进,我们现在可以使用
函数登录检查(事件){
var usr=this.elements.userName.value;
var psw=this.elements.passWord.value;
var username=“admin”;
var password=“admin”;
如果((usr==用户名)和&(psw==密码)){
警报(“真实信息-提交表格”);
}否则{
警报(“虚假信息-进入谷歌”);
位置=”http://www.google.com";
event.preventDefault();
}
}
document.getElementById('loginForm')。addEventListener('submit',loginCheck)代码>
以下是一个问题:
if ((usr==username) && (psw=password)) {
注意单=符号吗?这意味着您正在分配,而不是比较
if ((usr==username) && (psw==password)) {
切换到上面,然后看看它是否有效。只需使用:
window.location.href = "http://www.google.com";
它是一个对象,而不是一个函数。请尝试window.location.href=“”;非常感谢。我没注意到,没问题。你用的是什么IDE?我想那应该是记事本吧?哈哈,好吧,我这么问是因为如果你使用像Visual Studio或Netbeans这样的IDE,它会发现这些错误,让你的生活更轻松:谢谢,听起来很有逻辑:)通过你的帖子(和链接)学到了很多信息。由于对这个主题太陌生,我的磷储量已经耗尽。休息一下,我会回到主题:)顺便说一句,非常感谢。