解答有关于JavaScript的程序问题,掌握思路以及方法,并可以成功运行
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
</head>
<style>
.error {
color: red;
font-size: 12px;
margin-top: 5px;
}
</style>
<body>
<form id="register-form">
<div>
<label>会员账号:</label>
<input type="text" name="username" id="username" required>
<div id="username-error" class="error"></div>
</div>
<div>
<label>密码:</label>
<input type="password" name="password" id="password" required>
<div id="password-error" class="error"></div>
</div>
<div>
<label>确认密码:</label>
<input type="password" name="confirm-password" id="confirm-password" required>
<div id="confirm-password-error" class="error"></div>
</div>
<div>
<label>性别:</label>
<label><input type="radio" name="gender" value="male" checked>男</label>
<label><input type="radio" name="gender" value="female">女</label>
</div>
<div>
<label>所在城市:</label>
<select name="city">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
</select>
</div>
<div>
<label>兴趣爱好:</label>
<label><input type="checkbox" name="hobby" value="reading">阅读</label>
<label><input type="checkbox" name="hobby" value="traveling">旅行</label>
<label><input type="checkbox" name="hobby" value="swimming">游泳</label>
</div>
<button type="submit">立即注册</button>
</form>
<script>
document.querySelector("#register-form").addEventListener("submit", function(event) {
event.preventDefault();
var username = document.querySelector("#username").value;
var password = document.querySelector("#password").value;
var confirmPassword = document.querySelector("#confirm-password").value;
var gender = document.querySelector("input[name='gender']:checked").value;
var city = document.querySelector("select[name='city']").value;
var hobbyField = document.getElementsByName("hobby");
var hobby = [];
for (var i = 0; i < hobbyField.length; i++) {
if (hobbyField[i].checked) {
hobby.push(hobbyField[i].value);
}
}
var errors = [];
if (username === "") {
errors.push("会员账号不能为空");
document.querySelector("#username-error").textContent = "会员账号不能为空";
} else {
document.querySelector("#username-error").textContent = "";
}
if (password === "") {
errors.push("密码不能为空");
document.querySelector("#password-error").textContent = "密码不能为空";
} else if (password.length < 6) {
errors.push("密码不能少于6位");
document.querySelector("#password-error").textContent = "密码不能少于6位";
} else {
document.querySelector("#password-error").textContent = "";
}
if (confirmPassword === "") {
errors.push("确认密码不能为空");
document.querySelector("#confirm-password-error").textContent = "确认密码不能为空";
} else if (password !== confirmPassword) {
errors.push("两次密码输入不一致");
document.querySelector("#confirm-password-error").textContent = "两次密码输入不一致";
} else {
document.querySelector("#confirm-password-error").textContent = "";
}
if (errors.length > 0) {
alert(errors.join("\n"));
} else {
var data = {
username: username,
password: password,
gender: gender,
city: city,
hobby: hobby
};
localStorage.setItem("register-info", JSON.stringify(data));
window.location.href = "register-success.html";
}
});
</script>
</body>
</html>
注册成功页面:
页面名字register-success.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>注册成功</title>
<style>
table {
width: 80%;
margin: 2em auto;
border-collapse: collapse;
}
th, td {
padding: 0.5em;
border: 1px solid black;
}
th {
background-color: #ddd;
}
</style>
</head>
<body>
<h1>注册成功!您的信息如下:</h1>
<table>
<thead>
<tr>
<th>字段</th>
<th>值</th>
</tr>
</thead>
<tbody>
<tr>
<td>会员账号</td>
<td id="username"></td>
</tr>
<tr>
<td>性别</td>
<td id="gender"></td>
</tr>
<tr>
<td>所在城市</td>
<td id="city"></td>
</tr>
<tr>
<td>兴趣爱好</td>
<td id="hobby"></td>
</tr>
</tbody>
</table>
<script>
window.onload = function() {
var data = JSON.parse(localStorage.getItem("register-info"));
document.querySelector("#username").textContent = data.username;
document.querySelector("#gender").textContent = data.gender;
document.querySelector("#city").textContent = data.city;
document.querySelector("#hobby").textContent = data.hobby.join(", ");
}
</script>
</body>
</html>
作为一个AI,我无法明确知道您的具体问题,需要您提供更多的信息和上下文。同时,以下是一些JavaScript常见的问题和解决方案,供参考:
TypeError: Cannot read property 'xxx' of undefined 这种错误通常是因为变量未被及时初始化,或者引用了不存在的对象。可以先检查变量是否为null或undefined,然后再查看代码逻辑是否有误。
SyntaxError: Invalid or unexpected token 这种错误通常是因为代码中存在语法错误,最常见的是括号、引号或分号未匹配。可以使用代码编辑器的语法检查功能,或者在浏览器调试控制台中查看错误具体位置。
Uncaught ReferenceError: xxx is not defined 这种错误通常是因为变量或函数未被声明或定义。可以先检查代码中是否有拼写错误或者漏写关键字,然后再检查变量或函数是否被正确声明或定义。
Uncaught TypeError: xxx is not a function 这种错误通常是因为尝试将非函数类型的变量作为函数调用或调用不存在的函数。可以先检查变量类型是否正确,然后再检查代码中是否存在函数调用逻辑错误。
以上只是一些常见的问题和解决方案,如果您遇到其他问题,建议提供具体的错误提示信息和相关代码,以便更好地帮助您解决问题。