本质上,我试图让我的网页重定向成功登录。我有成功的登录工作,它不会重定向到新的页面之后。它刷新当前页面。
用于接受用户输入的表单。
<!-- Login Details -->
<form name = "loginForm" onsubmit = "validate(this);">
<p>
<label for = "username"> Username: </label>
<input type = "text" id = "username" name = "user"/>
</p>
<p> <label for = "password"> Password: </label>
<input type = "password" id = "password" name = "pass" required/>
</p>
<p class = "submit">
<input type = "submit" value = "Submit"/>
</p>
</form>现在是它的JavaScript方面;
var user = form.user.value;
var pass = form.pass.value;
var valid = false;
var userArray = ["admin", "kevin", "mark", "paul", "conor"]; // ("admin1", "admin2", "admin3") As many as you like - no comma after final entry.
var passArray = ["pass", "pass1", "pass2", "pass3", "pass4"]; // ("Password1", "Password2", "Password3") the corresponding passwords;
for (var i = 0; i < userArray.length; i++)
{
if ((user == userArray[i]) && (pass == passArray[i]))
{
valid = true;
//alert("Login was successful");
break;
}
}
if (valid == true)
{
alert ("Login was successful");
window.location = 'mainmenu.html';
return false;
}我使用双引号和单引号尝试了新的位置。也不起作用。感谢你的帮助:)
发布于 2014-12-15 22:18:06
你正在提交表格。您还没有指定操作,因此它会提交到当前页面。在location分配产生任何效果之前就会发生这种情况。
使用当前的方法,从return false (即调用validate的函数)修复它,从而取消表单提交的正常行为。
尽管如此:
onsubmit这样的内在事件属性是90年代我们如何进行JS事件绑定的。现在我们有了addEventListener (参见preventDefault)。发布于 2014-12-15 22:25:11
来自Mozilla开发人员网络:
Window.location只读属性返回一个Location对象,其中包含文档当前位置的信息。
和:
每当将新值分配给location对象时,就会使用URL加载文档,就好像修改后的URL调用了location.assign()一样。请注意,安全设置,如CORS,可能会有效地防止这种情况发生。 Location.assign(“http://www.mozilla.org"”);/或位置=“http://www.mozilla.org"”;
这里是示例1:https://developer.mozilla.org/en-US/docs/Web/API/Window.location
https://stackoverflow.com/questions/27494163
复制相似问题