gpt4 book ai didi

javascript - 如何在 Modal Bootstrap 4 中输入密码?

转载 作者:行者123 更新时间:2023-11-28 03:12:08 27 4
gpt4 key购买 nike

$(window).on('load',function(){
$('#loginModal').modal('show');
});

$(document).ready(function(e) {
$('#loginModal').on('hidden.bs.modal', function(e) {
window.location.href = '../index.html'
});
});

var password;
var pass1="letmein";

password=prompt('Please enter your password to view this page!',' ');
if (password==pass1)
alert('Access Granted!');
else
{
alert('Password is incorrect.');
window.location="/index.html";
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="loginModalLabel">Login to Forms</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="modalpass" class="col-form-label">Password:</label>
<input type="text" class="form-control" id="modalpass">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Login</button>
</div>
</div>
</div>
</div>

我正在尝试添加一个要求输入密码才能进入页面的模式。密码仅位于 JavaScript 文件中。

它的作用是,如果我点击该页面,它会自动加载并要求输入密码。当我点击外部或取消模式时,它应该返回到index.html。当密码正确时,它应该保留在页面上。

摘要:默认情况下,用户位于索引页上。当您单击某个页面(表单页面)时,它会要求输入密码。如果密码正确,它将停留在页面(表单)上或登录,如果密码错误,它将停留在模态上继续尝试输入密码。如果模态被取消或在外部点击,它将返回到索引。

问题是我不知道如何从密码输入框(而不是从 prompt 命令)获取值,以便将其与存储的密码进行比较。

最佳答案

要使此演示与模式配合使用,您需要做一些事情:

1) 创建 <form>其中包括密码文本框和其中的提交按钮

2) 使用 jQuery 处理表单的“提交”事件,这样我们就可以在用户按下“登录”时运行一些代码

3) 从文本框中获取输入值并将其与存储的密码值进行比较(显然在现实生活中,您会将输入的密码提交到服务器以进行安全检查。)

4)使文本框成为正确的“密码”输入(使用 <input type="password"... ),以便用户输入的内容不会显示在屏幕上

请运行此演示以查看其实际效果。我向有趣/重要的代码行添加了一些注释。

$(document).ready(function(e) {
var pass1="letmein";

$('#loginModal').modal('show');
$('#loginModal').on('hidden.bs.modal', function(e) {
window.location.href = '../index.html'
});

//handle the form's "submit" event
$("#loginForm").submit(function(event) {
event.preventDefault(); //stop a full postback

var password = $("#modalpass").val(); //get the entered value from the password box

if (password == pass1)
alert('Access Granted!');
else {
alert('Password is incorrect.');
//window.location = "/index.html";
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="loginModalLabel">Login to Forms</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form id="loginForm"> <!-- form with an ID so we can identify it, now includes both the textbox and the button within it -->
<div class="modal-body">
<div class="form-group">
<label for="modalpass" class="col-form-label">Password:</label>
<input type="password" name="modalpass" class="form-control" id="modalpass">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-primary">Login</button>
</div>
</form>
</div>
</div>
</div>

有用的文档链接:

关于javascript - 如何在 Modal Bootstrap 4 中输入密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60001240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com