我正在学习JS,我正在尝试根据用户的输入导航到不同的页面。 /MenuDemo1/src/home.jsp
在上面这两个文本框即将出现,在我输入值并单击按钮后,我成功获取了uid和pwd,但是在click.ref中点击而不是url,它将转到{ {1}}
MenuDemo1/src/home.jsp?username=admin&password=admin.
<form name="form1" id="form1" >
First name: <input type="text" name="username"> <br> Last
name: <input type="password" name="password"> <br>
<button id="submit" onclick="validateform()">Submit</button>
</form>
有人可以指出我错过了什么吗? TIA。
答案 0 :(得分:1)
您必须将此功能附加到您提交的活动: 因为onclick不会触发重定向:
所以先删除LOCATION
然后将该函数分配给提交事件并放置onclick="validateform()"
以防止将表单发送到帖子网址;
js应该看起来像是低温:
return false;
答案 1 :(得分:0)
我的回答可能不正确,我11岁并且大约9个月前开始编程,所以我是一个菜鸟。但是我认为它没有用,因为你没有可以发送数据的段落,所以当我运行程序并进行编辑时,它起作用了。&#39;
另外我相信没有&#34; /MenuDemo1/src/adminHome.jsp"等页面;去
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<form name="form1" id="form1" >
First name: <input type="text" name="username"> <br> Last
name: <input type="password" name="password"> <br>
<button id="submit" onclick="validateform()">Submit</button>
</form>
<p id="demo1"></p>
<script>
var linkHome;
function validateform() {
var uid = document.getElementById("form1").elements[0].value;
var pwd = document.getElementById("form1").elements[1].value;
if (uid === "admin" && pwd === "admin") {
document.getElementById("demo1").innerHTML = "Found elements in the form.";
linkHome = "/MenuDemo1/src/adminHome.jsp";
} else {
linkHome = "/MenuDemo1/src/userHome.jsp";
}
location.href = linkHome;
}
</script>
<link rel="stylesheet" href="style.css">
</head>
<body >
</body>
</html>`
答案 2 :(得分:0)
你应该试试这个: -
linkHome = window.location.protocol + "//" + window.location.host + "MenuDemo1/src/adminHome.jsp";
和
linkHome = window.location.protocol + "//" + window.location.host + "MenuDemo1/src/userHome.jsp";
希望这有帮助!