Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript从一个页面转到另一个页面?_Javascript_Web Applications_Web Application Project - Fatal编程技术网

如何使用javascript从一个页面转到另一个页面?

如何使用javascript从一个页面转到另一个页面?,javascript,web-applications,web-application-project,Javascript,Web Applications,Web Application Project,如果用户有效,则浏览器应转到另一页 当用户输入其用户名和密码,然后单击“确定”按钮时,将显示另一个页面,登录页面将自动关闭 如何使用JavaScript执行此操作?要使用JavaScript重定向浏览器,请执行以下操作: window.location.href = "http://example.com/new_url"; <form action="/new_url" method="POST"> <input name="username"> <

如果用户有效,则浏览器应转到另一页

当用户输入其用户名和密码,然后单击“确定”按钮时,将显示另一个页面,登录页面将自动关闭


如何使用JavaScript执行此操作?

要使用JavaScript重定向浏览器,请执行以下操作:

window.location.href = "http://example.com/new_url";
<form action="/new_url" method="POST">
   <input name="username">
   <input type="password" name="password">
   <button type="submit">Submit</button>
</form>
window.location.href = "@Url.Action("Action", "Controller")";
要重定向和提交表单(即登录详细信息),无需javascript:

window.location.href = "http://example.com/new_url";
<form action="/new_url" method="POST">
   <input name="username">
   <input type="password" name="password">
   <button type="submit">Submit</button>
</form>
window.location.href = "@Url.Action("Action", "Controller")";

提交

验证用户是否是javascript中的管理员会导致问题,因为javascript代码对任何人都可见。服务器应该在登录过程之后区分管理员和普通用户,然后相应地生成新页面

也许这不是你想要回答问题的原因:

window.location.href="<the page you are going to>";
window.location.href=”“;

您不能完全依赖客户端JavaScript来确定用户凭据是否正确。浏览器(以及执行该浏览器的所有代码)由用户控制,而不是由您控制,因此不可信

用户名和密码需要使用表单输入。“确定”按钮将是“提交”按钮。action属性必须指向一个URL,该URL将由检查凭据的程序处理

这个程序可以用JavaScript编写,但如何编写则取决于您使用的是哪种语言。请注意,SSJS不是主流技术,因此如果您真的想使用它,您必须使用专门的托管或管理您自己的服务器

(五年后,由于Node.js,SSJS变得更加常见,但它仍然相当专业)

如果您想在以后重定向,那么程序需要发出一个


请注意,在输出任何私有页面之前,您需要检查凭据是否正常(通常是通过在cookie中存储一个不是实际密码的令牌)。否则,任何人都可以通过知道URL(从而绕过登录系统)来访问私有页面。

我得到的正确解决方案是

<html>
      <head>
        <script type="text/javascript" language="JavaScript">
                  function clickedButton()
            {

                window.location = 'new url'

            }
             </script>
      </head>

      <form name="login_form" method="post">
            ..................
            <input type="button" value="Login" onClick="clickedButton()"/>
      </form>
 </html>

函数clickedButton()
{
window.location='新url'
}
..................
这里新的url在单引号中给出。

试试这个

window.location.href="sample.html";

这里
sample.html
是下一页。它将转到下一页。

更简单的方法是
window.location.href=”http://example.com/new_url";

但是,如果要使用JavaScript检查用户名和密码是否为空,并将其发送到php以检查数据库中的用户是否为空,该怎么办。您可以按照以下代码轻松地完成此操作

html表单-

<form name="myForm" onsubmit="return validateForm()" method="POST" action="login.php" >         
    <input type="text" name="username" id="username" />
    <input type="password" name="password" id="password" />
    <input type="submit" name="submitBt"value="LogIn" />
</form>
function validateForm(){
    var uname = document.forms["myForm"]["username"].value;
    var pass = document.forms["myForm"]["password"].value;

    if((!isEmpty(uname, "Log In")) && (!isEmpty(pass, "Password"))){

        return true;
    }else{
        return false;
    }
}

function isEmpty(elemValue, field){
    if((elemValue == "") || (elemValue == null)){
        alert("you can not have "+field+" field empty");
        return true;
    }else{
        return false;
    }
}
使用php检查数据库中的用户是否

<?php
    $con = mysqli_connect("localhost","root","1234","users");

    if(mysqli_connect_errno()){
        echo "Couldn't connect ".mysqli_connect_error();
    }else{
        //echo "connection successful <br />";
    }

    $uname_tb = $_POST['username'];
    $pass_tb = $_POST['password'];

    $query ="SELECT * FROM user";
    $result = mysqli_query($con,$query);

    while($row = mysqli_fetch_array($result)){
        if(($row['username'] == $uname_tb) && ($row['password'] == $pass_tb)){
            echo "Login Successful";
            header('Location: dashbord.php');
            exit();
        }else{
            echo "You are not in our database".mysqli_connect_error();
        }
    }
    mysqli_close($con);
?>

对于MVC开发人员,要使用javascript重定向浏览器,请执行以下操作:

window.location.href = "http://example.com/new_url";
<form action="/new_url" method="POST">
   <input name="username">
   <input type="password" name="password">
   <button type="submit">Submit</button>
</form>
window.location.href = "@Url.Action("Action", "Controller")";
希望这将有助于:

window.location.href='/url\u在\u域之后'

尝试以下操作:

window.location.href = "http://PlaceYourUrl.com";

虽然不清楚您到底想要什么,但使用javascript处理登录和重定向并不是一个好主意,因为精明的用户可以轻松绕过这样的限制。另外,至少Safari可以处理这个问题:您不需要为脚本方法指定域。因此,如果您的代码已经位于
http://example.com
,然后只需
window.location.href='new_url'将起作用。如果您的代码将在多个域上使用,但您始终希望将用户重定向到其已在的域中的同一子路径,则这一点特别有用。下一页是否可以从表单帖子接收信息?我认为这确实提供了问题的答案。