js里写一个当前页面弹出登陆框,用来输入用户名和密码并传到另一个页面的方法,求相助!
要在当前页面弹出一个登录框,允许用户输入用户名和密码,并将这些信息传到另一个页面,可以通过 JavaScript 实现。以下是一个详细的示例,包括如何创建弹出登录框、获取输入数据,并将数据传递到另一个页面。
实现步骤
- 创建登录框的 HTML 结构:使用
<div>
元素来表示登录框。 - 使用 CSS 样式:设置登录框的样式。
- 使用 JavaScript:处理表单提交并将数据传递到另一个页面。
示例代码
1. HTML 结构
在页面中添加一个隐藏的登录框,并在点击按钮时显示它。
html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login Example</title>
<style>
/* 隐藏的登录框 */
#loginModal {
display: none;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
}
/* 登录框样式 */
#loginBox {
background: white;
padding: 20px;
border-radius: 5px;
text-align: center;
}
</style>
</head>
<body>
<button onclick="showLoginModal()">Login</button>
<!-- 登录框 -->
<div id="loginModal">
<div id="loginBox">
<h2>Login</h2>
<form id="loginForm">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required><br><br>
<button type="submit">Submit</button>
<button type="button" onclick="hideLoginModal()">Cancel</button>
</form>
</div>
</div>
<script>
// 显示登录框
function showLoginModal() {
document.getElementById('loginModal').style.display = 'flex';
}
// 隐藏登录框
function hideLoginModal() {
document.getElementById('loginModal').style.display = 'none';
}
// 提交表单数据
document.getElementById('loginForm').onsubmit = function(event) {
event.preventDefault(); // 阻止表单的默认提交行为
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
// 将数据传递到另一个页面
window.location.href = 'targetPage.html?username=' + encodeURIComponent(username) + '&password=' + encodeURIComponent(password);
}
</script>
</body>
</html>
2. 目标页面(targetPage.html
)
在目标页面中,获取并显示传递过来的数据。
html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Target Page</title>
</head>
<body>
<h1>Welcome!</h1>
<p id="userInfo"></p>
<script>
// 获取 URL 参数
function getQueryParams() {
var params = {};
var queryString = window.location.search.substring(1);
var queryParts = queryString.split('&');
queryParts.forEach(function(part) {
var item = part.split('=');
params[decodeURIComponent(item[0])] = decodeURIComponent(item[1]);
});
return params;
}
// 显示用户信息
var queryParams = getQueryParams();
document.getElementById('userInfo').textContent = 'Username: ' + queryParams.username + ', Password: ' + queryParams.password;
</script>
</body>
</html>
说明
showLoginModal
: 显示登录框,设置其display
为flex
。hideLoginModal
: 隐藏登录框,将其display
设置为none
。onsubmit
: 表单提交时阻止默认行为,获取输入的用户名和密码,并将数据传递到目标页面的 URL 中。targetPage.html
: 在目标页面中,通过 URL 参数获取数据并显示。
总结
这个示例演示了如何用 JavaScript 实现一个弹出的登录框,输入用户名和密码,并将这些数据传递到另一个页面。通过这种方式,你可以创建一个简单的用户登录界面并处理用户输入。
关键字
JavaScript, 弹出登录框, 用户名, 密码, 表单提交, URL 参数, window.location.href
, encodeURIComponent
, decodeURIComponent