HTML 基础

HTML 表单 **全标签 + 全属性** 深度精讲

(分:全局通用属性 + 表单专属标签专属属性,逐个拆、带作用、带用法、易混区分,专门给你研究用)

作者:洋柿子·2026-09-01·共 5 篇 · 当前 1

HTML 表单 全标签 + 全属性 深度精讲

(分:全局通用属性 + 表单专属标签专属属性,逐个拆、带作用、带用法、易混区分,专门给你研究用)

一、先搞懂:HTML 属性是什么

写法规则:

html

预览

<标签名 属性1="值" 属性2="值">内容</标签名>
  • 属性写在开始标签内部

  • 格式:属性名="属性值"

  • 分两类:

    1. 全局属性:所有 HTML 标签都能用
    2. 专属属性:只给表单 / 某类标签专用

二、所有标签通用「全局常用属性」

不管是 div、p、input、form 全都能用:

表格

属性 作用
id 页面唯一标识,JS/DOM 获取元素、label 绑定
class 定义类名,CSS 样式、DOM 选择器用
name 表单核心,提交数据时的参数名
style 行内 CSS 样式
title 鼠标悬浮上去显示提示文字
hidden 直接隐藏元素,不占页面位置
tabindex 按 Tab 键切换焦点顺序
data-* 自定义属性,如 data-id="123",JS 拿自定义数据
autofocus 页面加载自动聚焦到该元素

三、表单根标签 <form> 专属属性

整个表单的容器,控制提交方式、跳转、编码、验证

表格

属性 取值 作用
action 后端接口地址 表单提交到哪个 URL
method GET / POST 提交方式:

GET:参数拼在地址栏

POST:参数放请求体
target _self/_blank 提交后在哪打开页面
enctype 编码类型 表单数据编码格式

1. application/x-www-form-urlencoded 默认

2. multipart/form-data 上传文件必须用

3. text/plain 纯文本
novalidate 无值 关闭浏览器自带表单验证
autocomplete on/off 是否开启输入历史自动补全

示例:

html

预览

<form action="/submit" method="POST" enctype="multipart/form-data">

四、<label> 标签属性

作用:点击文字,自动聚焦到输入框

表格

属性 作用
for 绑定对应 input 的 id,关联输入框

示例:

html

预览

<label for="username">用户名:</label>
<input type="text" id="username">

五、表单核心:<input> 标签 所有常用属性

input 是表单最万能标签,靠 type 切换样式,下面是通用属性 + type 类型

1. input 通用专属属性

表格

属性 作用
type 控制输入框类型(最关键)
name 提交后台的字段名必须要有
value 默认值、单选 / 复选提交的值
placeholder 输入框灰色提示文字
readonly 只读:能看、能复制、不能改,可提交
disabled 禁用:变灰、不能输入、不会提交到后台
required 表单提交必填校验,不能为空
maxlength 限制最大输入字符数
min/max 数字 / 日期的最小、最大值
pattern 正则表达式校验(手机号、邮箱)
checked 单选 / 复选 默认选中
size 控制输入框显示宽度

2. input 的 type 常用全部类型

plaintext

text        单行文本输入
password    密码框
radio       单选框(同name互斥)
checkbox    复选框
submit      提交按钮
reset       重置按钮
button      普通按钮(无默认行为)
hidden      隐藏域,看不见但能提交数据
number      数字输入框
email       邮箱格式校验
tel         手机号
url         网址
date        日期选择器
time        时间选择器
file        文件上传
range       滑动条
color       颜色选择器

六、下拉框 <select> + <option> 属性

<select> 属性

表格

属性 作用
name 提交字段名
multiple 允许多选
size 显示几个选项
required 必选校验

<option> 下拉选项属性

表格

属性 作用
value 提交给后台的值
selected 默认选中该项
disabled 禁用某一项不可选

<optgroup>

下拉选项分组,属性:label 分组名称


七、多行文本域 <textarea> 属性

表格

属性 作用
rows 显示行数
cols 显示列宽
placeholder 提示文字
readonly 只读
disabled 禁用
required 必填
maxlength 最大字数限制

示例:

html

预览

<textarea rows="4" cols="30" placeholder="请输入简介"></textarea>

八、按钮 <button> 属性

比 input type="button" 更强大

表格

属性 作用
type submit 提交 / reset 重置 / button 普通按钮
name / value 提交参数
disabled 禁用按钮

区别:

  • <button> 内部可以放文字、图标、标签
  • <input> 只能纯文字

九、辅助表单标签属性

<fieldset> 表单分组

把一组表单框起来,无复杂属性,多用于语义分组。

<legend>

配合 fieldset,分组标题。

<datalist> 联想输入

配合 input 的 list 属性,实现输入联想:

html

预览

<input type="text" list="cityList">
<datalist id="cityList">
  <option value="广州">
  <option value="清远">
</datalist>

十、必背易混属性区分(高频考点)

  1. readonly vs disabled
  • readonly:能看、能复制、可提交、不灰化
  • disabled:不能操作、不提交数据、灰化
  1. name 为什么必须写?

    表单提交是按 name=value 传给后端,没 name 后台收不到数据

  2. required

    浏览器原生校验,提交前自动判断是否为空

  3. enctype 什么时候用?

    只要上传文件,form 必须加 enctype="multipart/form-data"


我可以给你整理一份:完整表单示例代码,把 form、input、select、textarea、label 全部写在一个页面里,带所有属性实战,要不要?