HTML单选按钮
外观
HTML单选按钮[编辑 | 编辑源代码]
HTML单选按钮(Radio Button)是HTML表单中的一种输入控件,允许用户从一组选项中选择唯一一个选项。单选按钮通常用于需要互斥选择的场景,例如性别选择、问卷调查中的单选题等。
基本语法[编辑 | 编辑源代码]
HTML单选按钮使用<input type="radio">
元素创建。多个单选按钮通过相同的name
属性形成一组互斥选项。
示例代码[编辑 | 编辑源代码]
<form>
<p>请选择您的性别:</p>
<input type="radio" id="male" name="gender" value="male">
<label for="male">男</label><br>
<input type="radio" id="female" name="gender" value="female">
<label for="female">女</label><br>
<input type="radio" id="other" name="gender" value="other">
<label for="other">其他</label>
</form>
输出效果: <form>
请选择您的性别:
<input type="radio" id="male" name="gender" value="male"> <label for="male">男</label>
<input type="radio" id="female" name="gender" value="female"> <label for="female">女</label>
<input type="radio" id="other" name="gender" value="other"> <label for="other">其他</label>
</form>
关键属性[编辑 | 编辑源代码]
属性 | 描述 | 示例 |
---|---|---|
name |
定义单选按钮组的名称(必须相同才能形成互斥) | name="gender"
|
value |
提交表单时发送到服务器的值 | value="female"
|
checked |
设置默认选中项 | checked
|
disabled |
禁用单选按钮 | disabled
|
分组原理[编辑 | 编辑源代码]
单选按钮通过name
属性实现分组。浏览器会确保同一组(相同name)中只能选择一个选项。
高级用法[编辑 | 编辑源代码]
默认选中[编辑 | 编辑源代码]
使用checked
属性设置默认选项:
<input type="radio" id="opt1" name="options" value="1" checked>
<label for="opt1">默认选项</label>
与<label>关联[编辑 | 编辑源代码]
推荐使用<label>
元素提高可访问性:
- 点击标签文字也能选中按钮
- 屏幕阅读器能正确识别
动态处理[编辑 | 编辑源代码]
JavaScript获取选中值示例:
document.querySelector('input[name="gender"]:checked').value;
实际应用案例[编辑 | 编辑源代码]
用户注册表单中的性别选择:
<form action="/register" method="post">
<fieldset>
<legend>个人信息</legend>
<div>
<p>性别:</p>
<input type="radio" id="reg-male" name="user_gender" value="M" required>
<label for="reg-male">男性</label>
<input type="radio" id="reg-female" name="user_gender" value="F">
<label for="reg-female">女性</label>
<input type="radio" id="reg-unspecified" name="user_gender" value="U">
<label for="reg-unspecified">不愿透露</label>
</div>
</fieldset>
</form>
数学表示[编辑 | 编辑源代码]
单选按钮组可以表示为互斥事件集合: 其中A和B代表不同的单选选项。
浏览器兼容性[编辑 | 编辑源代码]
所有现代浏览器都完全支持单选按钮,包括:
- Chrome 1+
- Firefox 1+
- Safari 1+
- Edge 12+
- Opera 6+
最佳实践[编辑 | 编辑源代码]
1. 始终为每组单选按钮提供默认选择(使用checked
)
2. 使用<fieldset>
和<legend>
组织相关选项
3. 移动设备上确保点击区域足够大
4. 遵循WCAG可访问性指南:
* 每个单选按钮必须有对应的<label>
* 避免使用CSS完全隐藏原生控件
常见问题[编辑 | 编辑源代码]
Q: 如何让多个单选按钮组共存?
A: 为不同组使用不同的name
属性。
Q: 单选按钮和复选框有什么区别? A: 复选框允许多选,而单选按钮强制单选择。
Q: 为什么我的单选按钮不互斥?
A: 检查所有相关按钮是否具有完全相同的name
属性值。