创建一个用于填写用户资料的表单,要求表单内包含文本框、单选按钮、复选框、下拉式列表框及文本区域,并在提交表单后通过表格显示所提交的信息
时间: 2023-08-21 17:01:43 浏览: 93
好的,这是一个比较常见的网页表单需求,我可以帮你解决这个问题。首先,我们需要使用HTML和CSS来创建表单,然后使用JavaScript来验证和提交表单数据。以下是一个简单的示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户资料表单</title>
<style>
label {
display: block;
margin-bottom: 10px;
}
input[type=text], select, textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-bottom: 20px;
}
input[type=radio], input[type=checkbox] {
margin-right: 10px;
}
button {
background-color: #4CAF50;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<h2>请填写您的用户资料</h2>
<form id="userForm">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" placeholder="请输入您的姓名" required>
<label for="gender">性别:</label>
<input type="radio" id="male" name="gender" value="male" required>
<label for="male">男</label>
<input type="radio" id="female" name="gender" value="female">
<label for="female">女</label>
<label for="hobby">爱好:</label>
<input type="checkbox" id="football" name="hobby" value="football">
<label for="football">足球</label>
<input type="checkbox" id="basketball" name="hobby" value="basketball">
<label for="basketball">篮球</label>
<input type="checkbox" id="reading" name="hobby" value="reading">
<label for="reading">阅读</label>
<label for="city">所在城市:</label>
<select id="city" name="city" required>
<option value="">请选择所在城市</option>
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
<option value="shenzhen">深圳</option>
</select>
<label for="description">个人描述:</label>
<textarea id="description" name="description" placeholder="请输入个人描述"></textarea>
<button type="submit">提交</button>
</form>
<div id="userInfo"></div>
<script>
var form = document.getElementById("userForm");
var userInfo = document.getElementById("userInfo");
form.addEventListener("submit", function(event) {
event.preventDefault();
var name = document.getElementById("name").value;
var gender = document.querySelector('input[name="gender"]:checked').value;
var hobby = [];
var hobbyInputs = document.getElementsByName("hobby");
for (var i = 0; i < hobbyInputs.length; i++) {
if (hobbyInputs[i].checked) {
hobby.push(hobbyInputs[i].value);
}
}
var city = document.getElementById("city").value;
var description = document.getElementById("description").value;
var table = "<table><tr><th>姓名</th><th>性别</th><th>爱好</th><th>所在城市</th><th>个人描述</th></tr>";
table += "<tr><td>" + name + "</td><td>" + gender + "</td><td>" + hobby.join(", ") + "</td><td>" + city + "</td><td>" + description + "</td></tr>";
table += "</table>";
userInfo.innerHTML = table;
});
</script>
</body>
</html>
```
在这个示例中,我们使用了HTML和CSS来创建表单,包括文本框、单选按钮、复选框、下拉式列表框及文本区域。我们还使用了JavaScript来验证和提交表单数据。在提交表单时,我们使用了一个事件监听器来捕获表单的提交事件,并且阻止表单的默认行为。然后,我们使用JavaScript来获取表单中的值,并将其显示在一个表格中,这个表格是通过JavaScript动态生成的。
希望这个示例能够帮助你解决问题!
阅读全文