使用HTML创建表单
选择类型,看数据含义而不只看字符
同样由数字组成,“数量”和“编号”不应机械使用同一种控件。
| 报名字段 | 建议写法 | 能做什么/不能做什么 |
|---|---|---|
| 通知邮箱 | type="email" | 基础邮箱格式检查;不能证明地址存在或属于本人。 |
| 参加人数 | type="number" min="1" max="3" step="1" | 数值范围与步长;不是身份编号。 |
| 预约编号(如0012) | type="text" inputmode="numeric" | 保留编号文本;inputmode提示键盘,不负责校验。 |
| 联系方式(若确有必要) | type="tel" | 电话输入语义及可能的键盘优化;不会自动验证手机号格式。 |
| 日期 | type="date" | 日期输入;界面随设备、浏览器变化。 |
<label for="count">参加人数(1—3人)</label>
<input id="count" name="count" type="number"
min="1" max="3" step="1" value="1">
参加人数是可计数的数值,使用 type="number",配合 min、max、step 限定范围和步长。预约编号即使全是数字,也应按文本保存,以保留开头的 0;手机号使用 type="tel",而不是 number。
常用 input 类型速查
| type 值 | 适用场景 | 注意事项 |
|---|---|---|
text | 单行文字、学号、预约编号 | 编号不是数量;缺少 type 时默认使用 text。 |
password | 密码输入 | 只遮挡屏幕上的字符,不代表数据已加密。 |
email | 通知邮箱 | 检查基础格式,不能证明邮箱存在或属于本人。 |
tel | 联系电话 | 可能优化手机键盘,不会自动检查手机号格式。 |
url | 个人网站、作品网址 | 检查 URL 格式,不检查网站是否可访问。 |
search | 搜索关键词 | 用于搜索输入,搜索逻辑仍需另行实现。 |
number | 人数、件数等数值 | 用 min、max、step 设置范围和步长;不适合手机号或学号。 |
range | 音量、亮度等滑块调节 | 适合范围内调节,精确输入通常选 number。 |
date / time | 日期/时刻 | 选择界面因浏览器和设备而异。 |
datetime-local | 预约日期与时刻 | 值不包含时区信息,不能直接当作全球统一时间。 |
radio | 多个选项中选一个 | 同组设置相同 name;各选项用不同 value 表示。 |
checkbox | 多选、是否同意 | 未选中的复选框不会提交该项数据。 |
file | 选择本地文件 | 选择不等于上传;原生表单上传通常使用 POST 和 multipart/form-data。 |
color | 选择主题颜色 | 提供颜色选择控件,界面因浏览器而异。 |
hidden | 随表单提交不展示的字段 | 用户仍可修改,不能保存秘密或作为可信凭据。 |
submit / button / reset | 提交/普通按钮/恢复初始值 | button 不自带提交行为;reset 不是一律清空。也可使用 button 元素。 |
input 是空元素,不写结束标签;多行文本使用 textarea,不是另一种 input type。类型和浏览器校验不能替代服务器验证;要求必填时还需 required。