制作表单生成器,里面填写姓名,性别,爱好,年龄,自我介绍,最后提交保存数据到页面
时间: 2023-08-16 13:06:02 浏览: 321
你可以使用HTML和JavaScript来制作表单生成器。首先,你需要创建一个HTML表单,其中包含姓名、性别、爱好、年龄和自我介绍等字段,并在表单提交时执行JavaScript函数来保存数据。以下是一个简单的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>表单生成器</title>
</head>
<body>
<h1>表单生成器</h1>
<form onsubmit="saveData(event)">
<label>姓名:</label>
<input type="text" name="name"><br>
<label>性别:</label>
<input type="radio" name="gender" value="male">男
<input type="radio" name="gender" value="female">女<br>
<label>爱好:</label>
<input type="checkbox" name="hobby" value="reading">阅读
<input type="checkbox" name="hobby" value="sports">运动
<input type="checkbox" name="hobby" value="music">音乐<br>
<label>年龄:</label>
<input type="number" name="age"><br>
<label>自我介绍:</label>
<textarea name="intro"></textarea><br>
<input type="submit" value="提交">
</form>
<h2>数据展示:</h2>
<ul id="data-list"></ul>
<script>
function saveData(event) {
event.preventDefault(); // 阻止表单默认提交行为
// 获取表单数据
let name = document.querySelector('input[name="name"]').value;
let gender = document.querySelector('input[name="gender"]:checked').value;
let hobby = Array.from(document.querySelectorAll('input[name="hobby"]:checked')).map(input => input.value);
let age = document.querySelector('input[name="age"]').value;
let intro = document.querySelector('textarea[name="intro"]').value;
// 将数据添加到列表中
let dataList = document.getElementById('data-list');
let li = document.createElement('li');
li.innerText = `姓名: ${name}, 性别: ${gender}, 爱好: ${hobby.join(", ")}, 年龄: ${age}, 自我介绍: ${intro}`;
dataList.appendChild(li);
// 清空表单数据
document.querySelector('input[name="name"]').value = '';
document.querySelector('input[name="gender"]:checked').checked = false;
document.querySelectorAll('input[name="hobby"]:checked').forEach(input => input.checked = false);
document.querySelector('input[name="age"]').value = '';
document.querySelector('textarea[name="intro"]').value = '';
}
</script>
</body>
</html>
```
在这个代码中,我们首先创建了一个表单,其中包含姓名、性别、爱好、年龄和自我介绍等字段。在表单提交时,我们执行了一个名为`saveData()`的JavaScript函数来保存数据。该函数首先使用`event.preventDefault()`方法阻止表单默认提交行为,然后获取表单中各个字段的值,并将这些值添加到一个列表中。最后,我们清空了表单中的数据,以便用户可以继续填写表单。
阅读全文