HTML 表单
表单是HTML中用于收集用户输入信息的重要组成部分。无论是用户注册、登录、搜索还是留言反馈,都离不开表单的使用。
什么是表单?
表单是一个包含表单元素的区域,用于让用户输入数据并提交到服务器。表单元素包括文本框、密码框、单选按钮、复选框、下拉列表、文本域等。
表单的工作流程
- 用户在表单中输入数据
- 用户点击提交按钮
- 浏览器将数据打包并发送到服务器
- 服务器处理数据并返回响应
<form> 标签
表单使用 <form> 标签创建,是所有表单元素的容器。
<form action="submit.php" method="POST">
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<button type="submit">提交</button>
</form> form 标签常用属性
| 属性 | 说明 | 示例值 |
|---|---|---|
action |
规定表单提交的URL地址 | /submit, submit.php |
method |
规定提交时使用的HTTP方法 | GET, POST |
target |
规定表单提交后在哪里显示响应 | _self, _blank |
enctype |
规定表单数据的编码类型 | application/x-www-form-urlencoded, multipart/form-data |
name |
规定表单的名称 | userForm |
autocomplete |
规定表单是否启用自动完成 | on, off |
GET 与 POST 的区别
表单提交主要有两种方法:GET 和 POST。
| 特性 | GET | POST |
|---|---|---|
| 参数位置 | 显示在URL中 | 放在请求体中 |
| 安全性 | 较低,数据可见 | 较高,数据不可见 |
| 数据大小 | 受URL长度限制(约2KB) | 无限制 |
| 使用场景 | 查询、搜索等只读操作 | 登录、注册、数据提交等 |
| 缓存 | 可以缓存 | 不被缓存 |
安全建议
敏感信息(如密码、身份证号等)必须使用 POST 方法提交,避免信息暴露在URL中。
基础表单示例
下面是一个包含用户名和密码的登录表单:
<form action="/login" method="POST">
<div>
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required>
</div>
<div>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
</div>
<button type="submit">登录</button>
</form> 使用 label 提升可访问性
<label> 标签为表单元素提供说明文字,同时提升可访问性和用户体验。
label 的作用
- 点击 label 文字时,关联的输入框会自动获得焦点
- 屏幕阅读器能够正确朗读表单内容
- 在视觉上给出清晰的输入提示
<!-- 方法1:label 的 for 属性关联 input 的 id -->
<label for="email">邮箱地址:</label>
<input type="email" id="email" name="email">
<!-- 方法2:label 直接包裹 input -->
<label>
<input type="checkbox" name="remember">
记住我
</label> 交互式示例
在下面的代码编辑器中,尝试修改表单内容并点击"运行"查看效果:
💻 在线代码编辑器
👁️ 预览效果