帮我写一段html代码 要求 弹出窗口后窗口内有男和女选项操作基于原生js
时间: 2023-06-24 14:07:38 浏览: 90
以下是一个简单的实现:
```html
<!DOCTYPE html>
<html>
<head>
<title>弹出窗口</title>
<style type="text/css">
.popup {
width: 300px;
height: 200px;
background-color: #fff;
border: 1px solid #ccc;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: none;
}
.popup h2 {
margin: 0;
padding: 10px;
background-color: #ccc;
color: #fff;
text-align: center;
}
.popup label {
display: block;
margin: 20px auto;
text-align: center;
}
.popup input[type="radio"] {
display: none;
}
.popup input[type="radio"] + label {
cursor: pointer;
padding: 5px 20px;
background-color: #eee;
border: 1px solid #ccc;
border-radius: 20px;
}
.popup input[type="radio"]:checked + label {
background-color: #ccc;
color: #fff;
}
.popup button {
display: block;
margin: 20px auto;
padding: 5px 20px;
background-color: #ccc;
border: none;
border-radius: 20px;
cursor: pointer;
}
</style>
</head>
<body>
<button id="open-popup">打开弹出窗口</button>
<div class="popup" id="my-popup">
<h2>请选择性别</h2>
<label>
<input type="radio" name="gender" value="male">
男
</label>
<label>
<input type="radio" name="gender" value="female">
女
</label>
<button id="submit-gender">确认</button>
</div>
<script type="text/javascript">
var openPopupBtn = document.getElementById('open-popup');
var myPopup = document.getElementById('my-popup');
var submitBtn = document.getElementById('submit-gender');
openPopupBtn.addEventListener('click', function() {
myPopup.style.display = 'block';
});
submitBtn.addEventListener('click', function() {
var gender = document.querySelector('input[name="gender"]:checked').value;
console.log(gender); // 这里可以将性别值传到后端进行处理
myPopup.style.display = 'none';
});
</script>
</body>
</html>
```
解释一下:
首先,在页面上有一个“打开弹出窗口”的按钮和一个隐藏的弹出窗口,点击按钮后弹出窗口显示出来。弹出窗口内有一个标题和两个单选框,分别对应男和女。还有一个确认按钮,点击后会关闭弹出窗口并将选择的性别值传到后端进行处理。
CSS 中定义了弹出窗口的样式,其中 `display: none;` 表示一开始隐藏弹出窗口。
JS 中获取了按钮、弹出窗口、确认按钮等元素,并添加了点击事件监听器。点击“打开弹出窗口”按钮时,弹出窗口的 `style.display` 属性被设置为 `block`,从而显示弹出窗口。点击确认按钮时,通过 `document.querySelector('input[name="gender"]:checked')` 获取到被选中的单选框元素,再通过 `.value` 获取到其值,最后将其传给后端即可。
阅读全文