如何在不点击任何按钮的情况下检查密码后重定向到另一个页面?输入密码后,应检查并自动重定向到下一个指定的页面。 我是否需要在文本框输入标签中添加任何功能?
//This is my HTML code.
<div style="margin-top:27%;margin-left:40%;">
<b><i>Enter pin</i></b>
</div>
<input type="password" id="pwd" autofocus required>
//This is the javascript.
<script>
function login()
{
logged_in=false;
var pin=documemt.getElementById("pwd").value();
if(pin=="hotel")
{
logged_in=true;
window.open("screen3.html","_self");
}
else
alert("Please enter correct pin");
}
</script>
答案 0 :(得分:2)
也许这不是一个完全技术性的答案,但值得一提。
切勿在javascript中明确存储密码。用户可以打开此文件并阅读。对于你的问题,有一个答案。
你必须有一个可以检查密码的php文件(从帖子中获取)。
<?php if(isset($_POST['pass']) && $_POST['pass'] == 'hotel') echo "ok"; ?>
然后使用例如Jquery和AJAX对输入的每个更改发送ajax请求到这个带有发布密码的php文件。比较下载的文件与“ok”,如果OK,请使用javascript window.location.replace(“new url”);
这是数百万可能答案之一。但请记住,您应该设置会话并记住登录人员,并在每个其他站点上进行检查。在其他情况下,有人可以手动输入您正在重定向的相同URL,并且不需要密码。
希望它有所帮助 亚切克
PS。这个php文件也应该受到保护以进行多次密码比较,在其他情况下,使用bruteforce很容易破解简单的密码,了解机制。
PS 2.然而,在我看来,你做错了什么,应该重新考虑这种方法......我提出的答案也是非常非常非常一般的。太笼统了。
更新
也许更好的答案是制作一个标准的PHP脚本,用于记录服务器验证和提交按钮。然后,使用Javascript,隐藏提交按钮,并在输入更改模拟单击它。但在这种情况下,如果密码错误,页面应该记住用户输入的内容......用php编写并不困难:
$input_value = isset($_POST['password']) ? $_POST['password'] : '';
但我真的投票赞成离开提交按钮,因为大自然学会了我们;)。 感谢回复,最好的问候。
答案 1 :(得分:0)
验证登录数据后,请使用Response.Redirect("YourPage.aspx", False)
。它会将您重定向到您指定的页面。
答案 2 :(得分:0)
首先你需要一种方法将输入元素连接到一个函数,如果你不想使用提交按钮,你可以使用某种on-change / on-keyup处理程序来检测输入。
Javascript bind keyup/down event
在这个函数中,我建议一种更好的验证方法,比如Jacek说。
当你想出如何做到这一点时,你可能想看看这个问题:
答案 3 :(得分:0)
使用onKeyUP
输入文本事件,如下例所示。
<input type="text" onKeyUP="login();" id="pwd">
<script>
function login()
{
logged_in=false;
var pin=documemt.getElementById("pwd").value();
if(pin=="hotel")
{
logged_in=true;
window.open("screen3.html","_self");
}
else
{
alert("Please enter correct pin");
}
}
</script>
我希望它会对你有所帮助。
答案 4 :(得分:0)
当文档已加载或准备就绪时,您可以执行此操作 $('#pwd')。onkeypress = login(); 将登录绑定到您的密码箱的按键处理程序。
'logged_in == true'时您可以执行'window.location =“http://www.google.com”'重定向到目标网页。
我想应该有一些参数(会话ID?)或类似的,以验证用户不只是手动使用了url。