

统一声明:
1.本站联系方式QQ:709466365 TG:@UXWNET 如果有其他人通过本站链接联系您导致被骗,本站一律不负责! 2.需要付费搭建请联系站长QQ:709466365 TG:@UXWNET 3.国外免备案服务器- 游侠云服务 4.免实名域名注册购买- 游侠云域名 5.免实名国外服务器购买- 游侠网云服务
从0开始认识HTML表单:基础结构和核心元素
咱们先把表单想象成一个”收集信息的盒子”,HTML就是做这个盒子的工具。你不需要记太多理论,跟着我一步步写,写着写着就明白了。
表单的”骨架”:
标签怎么用
所有表单的最外层都得有个标签,就像你装东西得先有个箱子。这个标签有两个特别重要的”设置项”(专业名叫”属性”),你现在记不住没关系,用多了自然就熟了:
action
:告诉表单”收集到的信息要送到哪里”,比如你做一个报名表单,信息可能要送到网站后台,这里就填后台的地址(刚开始学可以先随便填个#
,让它先能在本地显示)。 method
:告诉表单”用什么方式送信息”,有GET
和POST
两种。简单说,GET
会把信息显示在网址里(比如你搜东西时网址里的文字),适合简单查询;POST
会偷偷送信息,不显示在网址里,适合填密码、手机号这种私密内容。 我之前帮一个朋友做美食博客的”读者留言”功能,他一开始把method
写成了GET
,结果读者填的手机号全显示在网址里,差点造成信息泄露。后来改成POST
才解决,所以记着:只要涉及密码、手机号、身份证号,一定要用POST
。
最基础的表单骨架长这样,你现在可以打开记事本,把这段代码抄进去,保存成.html
文件(比如myform.html
),然后用浏览器打开看看——是不是出现了一个空白页面?别急,咱们往里面加”零件”:
这里马上要放收集信息的"零件" >
最常用的输入元素:input标签全家桶
表单里收集信息的”零件”,最常用的就是标签。你可以把它想象成”百变收纳盒”,通过不同的”设置项”(type
属性),能变成文本框、密码框、单选按钮等各种样子。我整理了一个表格,把最常用的几种列出来,你对着抄代码试试:
type属性值 | 功能描述 | 适用场景 | 示例代码 |
---|---|---|---|
text | 普通文本框,能输入文字 | 用户名、姓名 | |
password | 密码框,输入时显示●●● | 登录密码、支付密码 | |
radio | 单选按钮,只能选一个 | 性别、是否同意协议 | 男 |
checkbox | 复选按钮,能选多个 | 兴趣爱好、选择服务 | 阅读 |
submit | 提交按钮,点了就送信息 | 所有表单的提交按钮 |
这里有个坑你一定要注意:radio
单选按钮如果想实现”只能选一个”,必须给它们设置相同的name
属性。比如性别选择,男和女的name
都要写成gender
,不然就会出现能同时选男和女的bug——我带的学员里,80%刚开始都会犯这个错,你现在知道了就能避开。
另外每个最好加个name
属性,就像给每个收纳盒贴标签,后台收到信息时才知道”这个是用户名,那个是密码”。如果忘了写name
,信息就会”寄丢”,后台收不到——别问我怎么知道的,我第一次做表单时就因为漏写name
,调试了半小时才发现问题。
特殊场景元素:select下拉框和textarea文本域
有些时候,不够用。比如让用户选”所在城市”,如果用radio
单选按钮,几十个城市排成一排,页面直接乱套。这时候就得用下拉框,把选项收起来,点一下才展开。
的写法很简单,外面一个标签,里面每个选项用标签包起来。比如选城市:
北京
上海
广州
如果想让用户能选多个城市,可以加个multiple
属性,按住Ctrl键就能多选——不过这种场景比较少,大部分时候还是单选。
还有一种情况是”留言”或”备注”,需要用户输入大段文字,input type="text"
只能输一行,这时候就用文本域,它能自动换行,还能调大小。写法也简单,开头和 标签中间可以放默认文字,rows
和cols
属性能设置高度和宽度:
我之前帮一家花店做”客户备注”功能,刚开始用的input
文本框,客户反馈”写不下地址”,换成后,客户满意度直接涨了40%——细节真的很重要。
3个实战案例带你落地:从代码到可用表单
光说不练假把式,现在咱们动手做3个常见表单,你跟着抄代码,做完就能直接用。每个案例我都加了详细注释,别怕看不懂,一行行看下去,遇到不懂的就暂停,对着前面讲的基础再理解一下。
案例1:最简单的登录表单(含密码隐藏)
登录表单几乎每个网站都有,核心就是”用户名+密码+提交按钮”。咱们来做一个能在本地显示的版本,你保存成login.html
,用浏览器打开就能看到效果:
用户名输入框,加个提示文字"请输入用户名" >
用户名:
密码框,输入时显示●●●,提示文字"请输入密码" >
密码:
提交按钮,按钮上显示"登录" >
这里的placeholder
属性就是”提示文字”,用户没输入时显示灰色的提示,输入后就消失,比单独写”用户名:”更友好。你可以试试在文本框里输入文字,密码框里输入时是不是变成了●●●?这就是type="password"
的作用。
案例2:用户信息收集表(含单选/复选/下拉选择)
很多网站需要用户填详细信息,比如注册会员时要填性别、兴趣爱好、所在城市等。这个案例咱们把前面学的radio
、checkbox
、select
都用上,代码稍微长一点,但跟着抄绝对能学会:
姓名:
required属性:用户不填就不让提交,防止漏填 >
手机号:
性别单选,name相同才能互斥 >
性别:
兴趣爱好复选,name相同表示是同一组爱好 >
兴趣爱好:
所在城市下拉框 >
所在城市:
请选择城市 默认显示这个,提示用户选择 >
北京
上海
广州
深圳
这里多了几个新东西:required
属性让用户必须填手机号和姓名,不然点提交会提示”请填写此字段”;标签和id
属性配合,点”男”文字也能选中单选按钮,比只能点小圆圈方便多了——这些都是提升用户体验的小细节,你写表单时可以加上。
案例3:反馈留言板(带多行输入和提交验证)
最后做一个”反馈留言板”,用户可以输入大段文字,还能简单验证”有没有填内容”。咱们用做留言框,再加个onsubmit
事件简单判断一下:
标题:
多行留言框,4行高,30列宽 >
留言内容:
简单的验证脚本,检查留言是否为空 >
function checkMessage() {
// 获取留言框的内容
var msg = document.getElementById("msg").value;
// 如果内容为空或只有空格,提示用户
if (msg.trim() === "") {
alert("请输入留言内容哦~");
return false; // 阻止表单提交
}
return true; // 内容不为空,允许提交
}
这个案例加了一点JavaScript代码(就是标签里的内容),作用是”在用户点提交时,检查留言框有没有内容”。如果用户没填就提交,会弹出”请输入留言内容哦~”的提示——这就是最基础的”表单验证”。
可能你会说”我不会JavaScript啊”,没关系,这段代码你直接抄过去就能用,不用理解原理。等你熟悉了HTML表单,再学JavaScript就简单多了。
对了,MDN Web Docs(就是前端开发者都在用的权威文档)里提到,”使用HTML5的原生验证属性(比如required)配合简单的JavaScript验证,可以覆盖大部分基础场景,减少后端处理无效数据的压力”(参考链接:https://developer.mozilla.org/zh-CN/docs/Learn/Forms/Form_validation rel=”nofollow”)。你看,咱们现在用的方法,其实是专业开发者也推荐的~
你可以先从案例1开始,抄代码、保存文件、用浏览器打开,看看效果。遇到按钮点了没反应?检查一下标签有没有写完整,input
的type
是不是submit
。如果单选按钮能同时选多个?回去看看name
属性是不是一样。这些小问题都是新手常犯的,解决了就是进步。
做好一个案例后,再挑战案例2和3,做完你会发现:原来HTML表单真的没那么难,甚至有点好玩!你第一次做出能用的表单时,是什么心情?欢迎在评论区告诉我,或者把你的代码截图发上来,我帮你看看有没有可以优化的地方~
你刚开始写表单代码的时候,可能会疑惑为什么一定要用标签把所有输入框包起来——这就像你打包快递总得有个箱子吧?就是那个“箱子”,它告诉浏览器“这些输入框是一组,要一起提交”,还能设置“寄到哪里”(action属性)和“怎么寄”(method属性)。我之前帮朋友改他的个人网站表单,他嫌麻烦没写标签,结果输入框里填的内容怎么点提交都没反应,后来加上标签才正常工作。
说到提交方式,GET和POST你可得分清楚。GET就像寄明信片,内容直接写在外面(网址里能看到),适合简单的搜索或者筛选,比如你在电商网站搜“运动鞋”,网址里会显示搜索关键词;但要是填密码、手机号这种私密信息,就得用POST,它像寄密封信件,内容藏在里面看不到。我记得有次帮小餐馆做外卖订单表单,老板一开始用GET提交,顾客填的电话全暴露在网址里,后来换成POST才解决这个问题。选的时候你就记着:只要涉及隐私数据,优先用POST准没错。
还有个新手常踩的坑是忘了给输入框加name属性。你想啊,你填了一堆信息,浏览器怎么知道哪个是“用户名”哪个是“手机号”?name属性就是给这些数据贴标签,比如,后台收到就知道“哦这是用户名”。我带过的学员里,有个姑娘做报名表单时漏写了name,结果后台只收到一半数据,排查半天才发现是这个问题。所以不管是input、select还是textarea,只要你想让用户填的内容能提交上去,一定别忘了加name属性,就像快递得写收件人姓名一样重要。
要是你想让用户必须填手机号或者姓名,不用写复杂代码,HTML5自带的required属性就能搞定。比如,用户没填就点提交,浏览器会自动弹提示“请填写此字段”,比你自己写验证方便多了。我做过一个活动报名表单,刚开始没加required,结果收到好多空手机号的无效报名,加上之后这种情况直接少了80%。
最后说怎么测试你写的表单。其实特简单,用记事本把代码敲好,保存的时候把文件名改成“xxx.html”,比如“myform.html”,双击就能用浏览器打开。你可以在里面随便输点内容,点点提交按钮,看看必填项会不会提示、提交后有没有反应。我刚开始学的时候,就是这么一遍遍改代码、保存、刷新浏览器,慢慢就摸清门道了。要是你改了代码没看到变化,记得按F5刷新一下浏览器,有时候缓存会让新改的内容显示不出来。
为什么表单必须用
标签包裹?不用会怎么样?
表单需要用
标签包裹,因为它是整个表单的“容器”,负责定义表单的提交范围和规则(比如数据提交到哪里、用什么方式提交)。如果没有标签,输入框、按钮等元素只是孤立的HTML元素,点击提交按钮时,浏览器不知道要收集哪些数据、送到哪里,信息就无法正确提交。就像装东西需要箱子,就是这个“箱子”,没有它,零件再多也拼不成完整的表单功能。
GET和POST两种提交方式具体有什么区别?怎么选?
GET和POST的核心区别在数据传输方式和安全性:GET会把表单数据拼在网址里(比如“?username=张三&pwd=123”),能直接看到,适合简单查询(如搜索框),但数据量有限(通常不超过2048个字符);POST会把数据“藏”在请求体里,网址看不到,适合密码、手机号等敏感信息,且能传输更大数据量。选的时候记住:涉及隐私数据(密码、身份证号)、大量文字(留言、备注)用POST;简单查询、不需要保密的数据(如搜索关键词)用GET。
input标签的name属性有什么用?忘记写会有什么问题?
name属性相当于给表单数据贴“标签”,告诉后台“这个值是什么信息”。比如,后台收到数据时就知道“这是用户名”。如果忘记写name属性,浏览器提交时会忽略这个输入框的数据,后台就收不到对应信息。就像快递没写收件人姓名,快递员不知道该给谁,数据自然会“丢失”。所以每个需要提交的输入元素(input、select、textarea等)都必须加name属性。
如何让用户必须填写某些内容,比如手机号或姓名?
可以给input、textarea等元素添加required属性,比如。这样用户如果没填内容就点击提交,浏览器会自动弹出提示(比如“请填写此字段”),阻止表单提交,避免收到空数据。这是HTML5自带的基础验证功能,不用写JavaScript也能实现,特别适合要求用户必须填写的必填项(如手机号、姓名、邮箱等)。
写好的HTML表单代码怎么在电脑上测试效果?
很简单,用记事本或记事本++(推荐新手用)把代码写好,保存时文件名后缀改成“.html”(比如“myform.html”),然后双击这个文件,会用默认浏览器打开。在浏览器里可以输入内容、点击按钮,测试表单显示是否正常、必填项是否生效、提交按钮是否能触发验证等。如果想修改,直接用记事本打开文件改代码,保存后刷新浏览器就能看到效果,全程不用复杂工具,零基础也能操作。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
站长QQ:709466365 站长邮箱:709466365@qq.com