尽管两个组(userTry和username& passTry和pass)相等,但代码返回登录函数中没有发生的任何事情,当这两个组相等时处理这种情况。该页面不返回应该是用户的介绍,而是返回任何内容,我很好奇为什么没有迹象表明这两个变量是相等的
<!DOCTYPE html>
<html>
<body>
<p>Create an Account:</p>
<button onclick="create()">Sign Up</button>
<button onclick="login()">Login</button>
<button onclick="doc()">Make a Document</button>
<p id="username"></p>
<p id="pass"></p>
<p id="login"></p>
<p id="welcome"></p>
<p id="name"></p>
<p id="title"></p>
<p id="text"></p>
<script>
function create() {
var name = prompt("Enter Your Name:", "Name");
var username = prompt("Please enter a Username:", "username");
var pass = prompt("Please enter a Password:", "password");
if (username != null) {
if (pass != null) {
document.getElementById("name").innerHTML =
"You have signed up successfully!";
}
}
}
function login() {
var userTry=prompt("Enter Your Username", "Username");
var passTry=prompt("Enter Your Password", "Password");
if (userTry==username && passTry==pass) {
document.getElementById("name").innerHTML =
"Welcome! Current User: " + name;
}
}
</script>
</body>
</html>
答案 0 :(得分:0)
在DF[1]
3.4
2.3
...
DF[2]
12
...
DF[3]
63.2
...
函数的范围内,未声明变量for(i in 1:nrow)
和login
。这应该会给你一个ReferenceError。
答案 1 :(得分:0)
由于您已在函数SpringSecurityUtils.clientRegisterFilter(
'HvFilters', SecurityFilterPosition.PRE_AUTH_FILTER.order)
中定义了变量username
和pass
,因此它们的范围在函数结束后结束。因此,要在全球范围内使用它们,您需要在全局范围内声明它们。
create()
答案 2 :(得分:0)
像其他人所说的那样,变量超出了范围,所以你可能会得到一个看不见的JS错误。在搞乱JS / Jquery时使用开发人员工具通常是一个好主意。 Chrome和Firefox都内置了开发人员工具:
如果你正在使用Chrome: 选项&gt;更多工具&gt;开发人员工具
如果你正在使用Firefox: 选项&gt; Web开发人员&gt;开发人员工具栏
如果您打开它们然后转到您的页面,您应该在控制台窗口中看到错误。此外,在进行JS更改时,您可能需要定期删除缓存以摆脱旧的JS版本。