HTML 表单表单标签 基础语法详解
HTML 表单的核心标签是 form 标签,它是整个表单的容器标签,所有输入框 单选框 复选框 下拉菜单 提交按钮这些表单控件,都要写在 form 标签内部,作用是把用户填写的数据收集起来,按照设定的提交方式发送给后端服务器,网页里登录页 注册页 留言页 搜索框全部都是依靠 HTML 表单标签实现。很多新手刚开始学习的时候,会混淆 form 标签和里面的 input 控件,input 只是单个输入组件,form 标签才是负责提交行为的外层容器,如果没有 form 标签包裹,点击提交按钮就没办法把整组数据统一发送,这也是初学者最常踩坑的地方。HTML 表单标签除了 form 主标签之外,还有配套辅助标签,比如 label 标签用来绑定文字和输入框,fieldset 标签用来给表单分组,legend 标签是分组标题,select 下拉标签 textarea 多行文本标签 button 按钮标签,这些标签搭配 form 标签一起使用,让表单结构更规范,同时提升网页可访问性。
form 标签核心属性
| 属性名称 | 作用 | 常用取值 |
|---|---|---|
| action | 表单数据提交的目标地址 | 后端接口 url |
| method | 数据提交的请求方式 | get post |
| enctype | 表单编码类型,上传文件必须设置 | application x-www-form-urlencoded multipart form-data text plain |
| name | 表单名称,用来区分页面多个表单 | 自定义英文名称 |
| target | 提交之后页面打开方式 | _self _blank |
| autocomplete | 是否开启浏览器自动填充 | on off |
| novalidate | 关闭浏览器原生表单校验 | 写属性即可生效 |
配套表单标签详细说明
label 标签
用来给表单控件添加文字说明,通过 for 属性和 input 的 id 绑定,点击文字也可以激活输入框,提升操作体验,也可以直接把 input 包裹在 label 内部实现绑定,不需要写 for 属性。
input 标签
最常用表单控件,依靠 type 属性切换不同形态,包含 text 文本框 password 密码框 radio 单选 checkbox 复选框 submit 提交按钮 reset 重置按钮 file 文件上传 number 数字框 email 邮箱框 date 日期框。
textarea 标签
多行文本输入标签,适合留言 简介这类长文本,自带 rows 行数 cols 列数属性,和 input 不一样,它是双标签,内容写在开闭标签中间。
select 标签
下拉选择框,内部搭配 option 标签,每一个 option 就是一个下拉选项,可以设置 selected 默认选中项,还可以用 optgroup 给下拉选项分组。
button 标签
表单内按钮,type 属性分为 submit 提交 reset 重置 button 普通按钮,submit 类型在 form 内部默认会触发表单提交。
fieldset 和 legend 标签
fieldset 用来把一组相关表单控件框选分组,legend 是这个分组的标题,多用于复杂长表单,让页面结构清晰。
基础编写步骤
1 先书写 form 起始标签,填写 action 和 method 核心属性
2 在 form 内部依次添加 label 和对应的 input 控件,每一项控件设置 name 属性,name 是后端接收数据的关键字,非常关键
3 添加提交按钮,推荐使用 button 或者 input type submit
4 保存 html 文件,浏览器打开页面填写内容测试提交
5 如果需要文件上传,给 form 标签加上 enctype 属性,并且 input 的 type 设置为 file
get 和 post 提交方式区别
| 对比项 | get | post |
|---|---|---|
| 数据位置 | 拼接在 url 后面 | 放在请求请求体里面 |
| 数据长度 | 有长度限制 | 基本没有长度限制 |
| 安全性 | 参数可见,不适合敏感信息 | 参数不在地址栏显示 |
| 适用场景 | 搜索 查询 | 登录 注册 提交敏感数据 |
重要注意事项
1 表单里面每一个需要提交的数据控件,都必须写 name 属性,如果缺少 name,提交之后后端接收不到这项数据
2 单选 radio 同一组必须使用相同 name 属性,这样才能实现互斥选择
3 novalidate 属性可以关闭浏览器自带校验,但是不推荐完全放弃校验,最好搭配 js 补充校验逻辑
4 form 标签可以嵌套吗,HTML 规范不允许 form 标签互相嵌套,页面多个表单要并列分开写
5 现代前端开发经常使用 ajax 提交表单,这时候可以保留 form 标签结构,但是阻止表单默认跳转提交行为
【常见问题】
问题 1 HTML 表单表单标签 form 必须写 action 吗
回答 1 HTML 表单表单标签 form 不是强制必须写 action,如果不写 action,默认提交到当前页面地址,实际项目一般都会填写后端接口地址
问题 2 HTML 表单表单标签里面 input 为什么提交没有数据
回答 2 HTML 表单表单标签里面 input 缺少 name 属性就会提交失败拿不到数据,提交的数据是依靠 name 作为键名传递,只写 id 是无法提交的
问题 3 HTML 表单表单标签能不能嵌套另一个 form 标签
回答 3 HTML 表单表单标签不允许嵌套 form 标签,HTML 标准规范禁止 form 内部再写 form,多个表单需要并列放置
问题 4 HTML 表单表单标签 method 默认是什么提交方式
回答 4 HTML 表单表单标签 method 默认是 get 提交方式,如果不手动指定,表单数据会拼接在 url 地址栏后面
问题 5 HTML 表单表单标签上传文件需要修改哪个属性
回答 5 HTML 表单表单标签上传文件需要修改 enctype 属性,设置为 multipart form-data,同时 method 必须使用 post 方式
【免责申明】
本文是 HTML 表单表单标签基础语法教学内容,HTML 标准会随版本更新迭代,不同浏览器对表单标签的兼容表现存在差异,本文仅作为前端入门学习参考,实际项目开发请参考最新 W3C 规范,不构成项目上线的强制开发标准。
相关阅读
-
紫菜属于海产藻类,日常口语里很多人会把它归到海鲜大类,但是严格生物学分类上,紫菜并不是鱼虾蟹这类动物性...浏览全文>>
-
housework 和 chores 中文都可以翻译成家务,但是核心差别非常明确,housework 是不可数名词,是家务这个...浏览全文>>
-
竹酒核心制作原理,是把已经发酵完成的基酒注入还在生长的活竹竹腔内部,依靠竹子天然竹节密闭空间进行二次陈...浏览全文>>
-
蜘蛛主要捕食各类小型活体节肢动物,属于肉食性捕食动物,依靠毒液麻痹猎物,体外消化之后吸食汁液,不吃植物...浏览全文>>
-
蒸梨是很常见的家常甜蒸品,最经典就是冰糖蒸梨,把梨挖空填入冰糖,上锅隔水蒸软,梨肉变得软糯清甜,汤汁温...浏览全文>>
-
想把炸南瓜条做成功,核心就是选粉糯老南瓜,切条控干表面水分,薄挂脆糊,油温控制得当,成品外皮金黄酥脆,...浏览全文>>
-
水煮花生想要做到外皮不发黑果仁粉糯咸香透味,核心要点是挑选新鲜花生充分浸泡把控煮制火候最后关火焖泡入味...浏览全文>>
-
怎么吃芒果简便的核心就是利用芒果本身结构,不用复杂削皮器,只用一把普通小刀,掌握划格法直接啃食,也可以...浏览全文>>
-
核心结论 honey 是英语里非常常用的亲昵称呼,中文常译作亲爱的宝贝甜心,最主要是伴侣之间互相称呼,也就是...浏览全文>>
-
hi 是英语里面最通用的非正式问候词,它的同义词分为口语轻松类 正式礼貌类 美式常用类,不同同义词虽然都...浏览全文>>
- Adobe推出PhotoshopElements和PremiereElements2025取消Elements软件的永久许可
- Insta360AcePro2主要规格终于泄露GoPro和DJI运动相机竞争对手将配备50MP传感器5nm和2倍数码变焦
- 索尼INZONEM10S华硕ROGSwiftOLEDPG27AQDP新品上市但售价更高
- GalaxyS25Plus看起来很时髦但三星是否选择像iPhone一样的通用设计
- AOC推出四款新型游戏显示器具有快速刷新率和低价格
- Valve出售部分SteamDeck型号-GBLCD型号售价296.65美元512GBLCD型号售价336.75美元
- Beats在其产品线中增加了手机保护壳推出适用于iPhone16系列的MagSafe保护壳
- 新的AIPlaygroundDesign工具你可以简单地与之交谈就像ChatGPT一样
- GAMEBABY控制器和外壳混合套装现已接受预订
- Galaxy Watch Ultra 证明优质智能手表不仅仅是技术
- GameNGen是一种疯狂的新型AI模型可以即时生成可玩的视频游戏
- iOS18公开测试版5现已发布正式版即将发布
- AndroidAuto借助其新的GoogleAssistantUI获得Siri的青睐
- 苹果将要求Patreon为新会员支付30%的AppStore费用
- 谷歌的下一代4K机顶盒电视流媒体可能比我们想象的更贵
- StarBook 7:基于 Linux 的笔记本电脑现已推出
- Yum! Brands 将语音 AI 推广到更多 Taco Bell 门店
- GoogleGemini可能很快就能让你进一步编辑AI生成的图像
- cOSSequoiabeta4现已推出具有以下功能
- iOS18beta4现已向开发人员开放但AppleIntelligence在哪里
