onclick从表单返回输入而不是重定向

时间:2017-05-20 15:52:14

标签: javascript html forms jsp

我正在学习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。

3 个答案:

答案 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";

希望这有帮助!