【前端就业课 第一阶段】HTML5 零基础到实战(八)表单详解

注意:手机(APP)打开,内容显示更佳,不会的私聊博主即可
想要拿代码或加入学习计划(** 博主会监督你并且教你写文章 **)的拉到最下面(PC端Web打开)加博主即可,目录也在最下面。

参加1_bit博主前端学习计划发文时在头部记得加上本专栏链接,示例如下:

我已加入 1_bit 博主的免费前端 站起来 学习计划,专栏链接:https://blog.csdn.net/a757291228/category_11609526.html

一、表单的使用

1.1 表单基础

🐶1_bit:这一节咱们开始表单的学习。

👸小媛:表单是啥?

🐶1_bit:表单其实咱们平常都用过,例如你在一个网页中输入一些内容,然后用过注册,信息上传,其实在很多网页之中这都是使用表单进行制作的。

👸小媛:哇,意思说这一节说到核心内容了?

🐶1_bit:哈哈哈,其实每一节的内容都很核心,所以需要认真学习呢。那咱们现在就开始学习表单吧。

👸小媛:好勒。

🐶1_bit:在 HTML 中,表单的标签是 form 标签,例如如下代码示例就是一个表单。

<form></form>

👸小媛:那他们之间要写什么内容呢?

🐶1_bit:先不急,咱们需要先搞懂的还有一个重要的属性,那就是 action,action 属性表示当前表单需要提交到的一个地址。

👸小媛:这个地址是什么意思呢?

🐶1_bit:在咱们的 web 开发中,网页只是给予用户呈现的一个页面,例如一个注册页面,在这个页面之中,用户需要填写对应的信息点击提交完成注册,当点击提交之后,这个页面的将会把信息给予到 action 属性所对应的一个 url(链接)之中。

👸小媛:所以说 action 后面就是填写一个链接咯?

🐶1_bit:对的,由于咱们目前没有一个地址给予测试,咱们可以写成如下示例。

<form action=""></form>

👸小媛:明白了。

🐶1_bit:现在咱们还需要给予这个表单一个 name 属性,例如如下示例。

<form name="register" action=""></form>

👸小媛:如果不给这个 name 属性呢?

🐶1_bit:当然你可以给或者不给,但是建议给,因为你所提交到后台(action 中的 url 地址 )时,你的信息会有一定的标记,当然有些时候不给也没事,但是为了标准,防止弄错,所以需要给一个name,这样就可以通过你给的name 值区分你这个表单提交的是什么了;像在如上示例,给予了一个 register 作为名称,那么就知道这个表单中的信息是用于注册的。

👸小媛:明白了。

🐶1_bit:表单还需要给予一个属性,那就是 method 属性,这个属性表示了这个表单提交数据到后台时所采用的方式,可以选择 get 或者 post。

👸小媛:get 和 post 是啥?

🐶1_bit:这是两种数据提交的方式,你也可以认为一种数据提交的方式是 get,另外一种数据提交的方式是 post,这两种数据提交方式默认为 get,但是 get 相比 post 提交方式来说并没有 post 那么安全;当然,使用哪种数据提交的方式一般是后端程序员会告诉你,这个你不用着急。

👸小媛:那怎么写呢?

🐶1_bit:如下就是使用 method 数据提交的示例。

<form name="register" action="" method="post"></form>

🐶1_bit:表单还可以用于上传文件,这个时候就需要有一个属性叫做 enctype,如果你需要上传文件(包括图片),必须设置 enctype 属性为 enctype=“multipart/form-data”,例如如下示例。

<form name="register" action="" method="post" enctype="multipart/form-data"></form>

👸小媛:明白了,那这个 enctype 还有别的属性吗?这个属性是自己随便写的还是?

🐶1_bit:enctype 自带了 3 种属性,分别是 text/plain 、 multipart/form-data 、application/x-www-form-urlencoded ,默认是 application/x-www-form-urlencoded;其中 text/plain 是表示纯文本数据提交、multipart/form-data就是表示有文件数据上传 、 application/x-www-form-urlencoded 默认。

👸小媛:意思说我正常情况下默认就可以不用动了对吧。

🐶1_bit:是这样的。其中 from 表单还可以添加一个 target 属性,点击提交按钮后可以选择新窗口打开还是当前页面打开,这个前几节已经讲过,在此就不再进行赘述了。

👸小媛:好,明白了。

二、表单控件

2.1 文本输入框

🐶1_bit:那么接下来咱们就看看咱们表单之中有哪些控件。

👸小媛:啥是控件?

🐶1_bit:你可以理解为表单之中的元素,当然理解有点片面,不过也没啥问题。

👸小媛:哈哈哈,你意思就是说“现在说了我也不明白的意思”。

🐶1_bit:哈哈,先这样解释后面你就懂了。表单中的元素有多种,例如文本输入框、选项、图片上传等。一个简单的文本输入的表单示例如下。

<form name="register" action="" method="post" enctype="application/x-www-form-urlencoded"><input name="username" type="text" />
</form>

👸小媛:咦?其中的 input 就是控件吗?

🐶1_bit:对的,input 就是控件,在网页中显示如下。

在这里插入图片描述
👸小媛:哈哈哈,这阵的是一个文本框呀。

🐶1_bit:对的,还有一个需要注意,input 标签中的 name 建议一定要给予,当你在这个 input 标签所显示在页面的输入框中输入内容后,点击提交的内容进入后台时,需要通过你输入的name 值进行值的判断,也就是说,你输入的 name 值用于标识当前数据是什么内容。在当前示例中,我所示例的 name 值为 username,也就是说当前的 username 这个名称与这个输入框的值进行标记。

👸小媛:原来如此,明白了。

🐶1_bit:还有一个也需要注意,其中的 type 属性表示当前控件的类型,你写成 text 那么就对应的是文本输入框类型。

👸小媛:明白了,那还可以选择什么类型的控件呢?

🐶1_bit:先别急,咱们还可以为这个文本设置对应的属性值,例如。

<form name="register" action="" method="post" enctype="application/x-www-form-urlencoded"><input size="30" placeholder="请输入内容" name="text1" type="text" /><input value="默认值" placeholder="请输入不大于3位的内容" name="text2" type="text" /><input placeholder="请输入不大于6位的密码" maxlength="6" name="pw" type="password" />
</form>

👸小媛:哇,这些都有什么用呢?

🐶1_bit:以上示例中,size 属性表示了当前这个 input 的长度、 placeholder 表示提示语、maxlenght 表示了当前所能填写内容的最大长度、value 表示了表单的默认值、type=“password” 表示了当前表单输入为密码。

👸小媛:明白了,输入值也是看不见的样子。
在这里插入图片描述

2.2 radio 单选项

🐶1_bit:那咱们接下来再看看 radio 类型,也就是单选项。

<form name="register" action="" method="post" enctype="application/x-www-form-urlencoded"><input size="30" placeholder="请输入内容" name="text1" type="text" /><input value="默认值" placeholder="请输入不大于3位的内容" name="text2" type="text" /><input placeholder="请输入不大于6位的密码" maxlength="6" name="pw" type="password" /><br/><input name="radio1" type="radio" value="mianbao" /> 面包 <br/><input name="radiox1" type="radio" value="baozi" /> 包子 <br/><input name="radio1" type="radio" value="shengjianbao" /> 生煎包 <br/><input name="radio2" type="radio" value="xigua" /> 西瓜 <br/><input name="radio2" type="radio" value="yumi" /> 玉米 <br/><input name="radio2" type="radio" value="danbaizhi" /> 蛋白质 <br/>
</form>

🐶1_bit:以上内容中使用 name 值用于区分不同的单选项组,其中相同的name 值 name="radio1"为一组,另一组为 name="radio2",没组内容为单选项。

👸小媛:真的耶,选了一下确实只能选择一个。
在这里插入图片描述
👸小媛:那那个vaule 是啥呢?

🐶1_bit:这个 value 就表示你选择的每一项的值,当表单提交后就会提交你选中的 value 值。

👸小媛:原来如此。

2.3 复选项

🐶1_bit:既然有了单选项那么必然会有复选项,例如如下示例。

<form name="register" action="" method="post" enctype="application/x-www-form-urlencoded"><input size="30" placeholder="请输入内容" name="text1" type="text" /><input value="默认值" placeholder="请输入不大于3位的内容" name="text2" type="text" /><input placeholder="请输入不大于6位的密码" maxlength="6" name="pw" type="password" /><br/><input name="radio1" type="radio" value="mianbao" /> 面包 <br/><input name="radio1" type="radio" value="baozi" /> 包子 <br/><input name="radio1" type="radio" value="shengjianbao" /> 生煎包 <br/><input name="radio2" type="radio" value="xigua" /> 西瓜 <br/><input name="radio2" type="radio" value="yumi" /> 玉米 <br/><input name="radio2" type="radio" value="danbaizhi" /> 蛋白质 <br/><input name="checkbox1" type="checkbox" value="chdd" /> 成华大道 <br/><input name="checkbox1" type="checkbox" value="erxq" /> 二仙桥 <br/><input name="checkbox1" type="checkbox" value="jiji" /> 大爷 <br/>
</form>

👸小媛:复选框就是 checkbox,明白了,并且还可以进行复选。
在这里插入图片描述
🐶1_bit:是的,这些标签如果你要用做 form 表单标签你就必须放在 form 表单之内,这样提交后才有效,如果你不用做表单也可以直接添加在 html 文档之中。

👸小媛:明白了。

2.4 file 文件上传

🐶1_bit:接下来咱们了解一下上传文件的 input 类型 file,如下所示。

<input name="file" type="file" /> 

👸小媛:此时在页面中如下显示。

在这里插入图片描述
🐶1_bit:只需要选择浏览,就可以选择文件了。

👸小媛:奥耶,不错不错。

2.5 多行文本输入框

🐶1_bit:你就负责喊 666 就好了。接下来咱们再来看一个 textarea,你可以理解为多行文本。

<textarea name="textarea" cols="20" rows="10">

👸小媛:其中 cols 属性为列、rows为行吧?

🐶1_bit:是的,这是在页面中的显示情况。
在这里插入图片描述
👸小媛:但是我发现点击右下角可以拖动这个多行文本框耶。

🐶1_bit:这个你可以使用一个样式,就可以禁止拖动了。

<textarea style="resize: none;"  name="textarea" cols="20" rows="10">

👸小媛:明白了,右下角的拖动按键消失了。
在这里插入图片描述

2.6 重置按钮

🐶1_bit:接下来咱们再看一个重置按钮 rest。

<input type="reset" value="重置">

🐶1_bit:点击后即可重置输入的内容。

在这里插入图片描述
👸小媛:真方便。

2.7 按钮

🐶1_bit:那现在咱们就介绍一下提交按钮了,只需要把 input 的类型提交成 submit 就可以了。

<input type="submit" value="提交按钮">

👸小媛:点击这个按钮就可以直接提交表单了吗?

🐶1_bit:是的,也有普通的按钮,叫做 button,如下所示。

<button>普通按钮</button>

在这里插入图片描述
👸小媛:这两个按钮还有什么别的区别吗?

🐶1_bit:应该说相对于 input 的 submit 按钮,button 按钮更加灵活,在 button 按钮之中还可以嵌入一些图片,并且让图片具有按钮特性,例如如下所示。

<button><img src="./img/1.png"></button>

在这里插入图片描述
🐶1_bit:此时这个图片就有按钮的特性了。

👸小媛:哇,我喜欢用button。

🐶1_bit:哈哈哈,我也喜欢。其实对于表单来说,只要咱们将一些有信息内容的标签丢到其中,给予name 标签,那么这些对应的标签所对应的值都将随着表单进行提交。

👸小媛:原来是这么回事,所以这些标签就像刚刚你说的那样,不一定需要写在 form 之中。

🐶1_bit:对的。所以这一节的内容大致就学完了,你可以自己按照想法做一个问卷,用表单来做试一下。

2.8 下拉列表

👸小媛:可是我学的内容还没那么多呀,下拉列表我就不会。

🐶1_bit:那我就教你吧,下拉列表使用 select 标签,每一个选项在其内部使用 option 标签,如下所示。

<select name="ccc"><option value="xc">小吃</option><option value="ls">零食</option><option value="kqs">矿泉水</option><option value="gz">瓜子</option><option value="hs">花生</option><option value="bbz">八宝粥</option>
</select>

👸小媛:select 就是下拉选项标签?然后 option 放在里面就是选项?

🐶1_bit:是的,然后你要放在表单内的话你需要给 select 一个name 值,然后每个 option 一个 value 值属性。

👸小媛:明白了,看见效果了。
在这里插入图片描述
👸小媛:欧了。

目录

【前端就业课 第一阶段】HTML5 零基础到实战(九)列表
【前端就业课 第一阶段】HTML5 零基础到实战(八)表单详解
【前端就业课 第一阶段】HTML5 零基础到实战(七)文字及图片样式
【前端就业课 第一阶段】HTML5 零基础到实战(六)表格详解
【前端就业课 第一阶段】HTML5 零基础到实战(五)基础元素
【前端就业课 第一阶段】HTML5 零基础到实战(四)伪类与伪元素
【前端就业课 第一阶段】HTML5 零基础到实战(三)一篇文CSS基础入门
【前端就业课 第一阶段】HTML5 零基础到实战(二)超链接
【前端就业课 第一阶段】HTML5 零基础到实战(一)基础代码结构详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS遇上Python】ArcGIS10.6 python批量将栅格中的特定值替换Setnull为NoData

案例一: 如下图所示为兰州市dem,将图一中高程大于1600m的像元值设置为无效(Setnull)之后的效果如图二所示。 实现过程: 栅格计算器参考文章:《【ArcGIS风暴】ArcGIS 10.2栅格计算器实用公式大全(经典珍藏版)》,该文章中主要以ArcGIS102.为平台讲解栅格计算器的…

Android之实现Room升级需要给一个表增加一个字段

1、需求 实现Room升级需要给一个表增加一个字段。 2、Room升级介绍 Room 持久化库中通过使用 Migration 类保存用户数据。每个 Migration 类指定起始版本和结束版本。在运行时,Room 运行每个 Migration 类的 migrate() 方法,使用正确的顺序将数据库迁移到后面的版本 1、An…

开源力量:微软竟开源 PowerShell

导读曾经有段时间&#xff0c;微软称 Linux 是“癌症”&#xff0c;但是随着时光流逝&#xff0c;现在微软已经认识到了开源世界的不断增长&#xff0c;除了在这个领域加大投入之外别无选择。微软已经启动了几个开源项目&#xff0c;希望能吸引一些 Linux 用户&#xff0c;其中…

为何gpio_to_irq不能静态使用?【转】

之前在调试传感器模块的时候发现&#xff0c;在结构体声明的时候irq成员使用gpio_to_irq会报错&#xff0c;而动态使用的话就没有问题。就对gpio_to_irq为什么不能静态使用产生了疑问。恰巧最近又有朋友遇到了同样的问题&#xff0c;也就提醒了我&#xff0c;去找出原因。 转自…

当谈研发效能时,该谈些什么?

最近翻了下之前写的公众号文章&#xff0c;发现研发效能相关的就有三篇&#xff1a;怎样提高开发效率关于增效&#xff0c;需要做好这两点再谈研发效率提升从工具使用、业务的理解、团队的沟通协作到流程、组织、分享等内容&#xff0c;我能想到的大部分有关研发效能的点都有涉…

32.find命令

命令类似 文件管理 命令名称 find 命令描述 查找文件或者目录&#xff0c;根据不同参数的匹配来找到 想要的文件。 命令语法 find [文件路径] [参数或者条件] 参数 -o #或者 -size #大小 -name #条件 如文件名称 或者 相对名称 -name "." -type #类型 如 f:文件 d:目…

ENVI5.4完美实现MODIS NDVI数据格式转换和投影变换

如上图所示,分别为: View1:MODIS hdf数据多波段 View2:MODIS NDVI波段 View3:ArcGIS10.8投影变换后的MODIS NDVI View4:ENVI5.4投影变换后的MODIS NDVI 关于ArcGIS处理MODIS数据的操作,可以参照: 《ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换》 《重磅!ArcG…

Android之解决viewpage加载第3个fragment的时候,第一个fragment又重新构建问题

1 、问题 viewpage加载第3个fragment的时候,第一个fragment又重新构建问题,感觉自己好傻逼的,不知道啥原因,原来是少了一个设置,加载旁边多少个fragment不销毁 2 、解决办法 viewPager.offscreenPageLimit = 3 3、推荐滑动页面万能的指示器框架 https://github.com/hac…

【前端就业课 第一阶段】HTML5 零基础到实战(九)列表

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

android 电源管理 wakelock 唤醒锁机制

Android 电源管理 — 唤醒锁全新上市 大多数人可能都遭遇过手机的电池续航时间较短带来的尴尬。 这极其令人讨厌。 没电的手机和一块水泥砖没什么差别。 一般而言&#xff0c;如果用户的手机电池无法持续一整天&#xff0c;他们会感到非常不满。而且&#xff0c;当手机充电时用…

初始Bootstrap

使用示例①下载Bootstrap框架 网址&#xff1a;http://v3.bootcss.com/getting-started/#download②解压得到三个文件③将文件添加进项目后&#xff0c;在页面中引用必要的css和js④查看效果&#xff08;a标签美化得不要不要的了&#xff5e;&#xff09;更多学习Bootstrap的资…

APP无埋点流程

最近无埋点技术很是流行&#xff0c;抽空研究了下诸葛IO&#xff0c;talkingData以及百分点这些业内知名公司的无埋点SDK&#xff0c;抽取其中重要的信息供大家参考&#xff1a;1、首先什么是无埋点呢&#xff0c;其实所谓无埋点就是开发者无需再对追踪点进行埋码&#xff0c;而…

Esri Maps For Office制作漂亮的地图

ArcGISOnline是一个基于云架构的资源中心,在这里你可以发布自己的地图资源、浏览其它ArcGIS爱好者发布的应用程序;总之,它为我们提供了一个在线交流的场所。 EsriMapsForOffice是ArcGISonline推出的一个Office环境的插件,可以让我们在Excel、Powerpoint中进行制图,就像在…

《什么是 eBPF》O'Reilly 报告中文版放送

祝大家端午安康&#xff0c;国泰民安&#xff0c;世界和平。今年端午节&#xff0c;鄙人人在北京&#xff0c;所在区有中风险地区&#xff0c;而老家又是所在省的唯一一个中风险地区&#xff0c;既出不了京&#xff0c;也回不了家。可谓有家不能回&#xff0c;真是每逢佳节倍思…

介绍一个代码管理系统-Git

Git是一个跨平台的代码管理系统&#xff0c;据说比SVN好很多&#xff0c;呵呵!! http://git.or.cz/ 一个基于Git管理的代码共享网站 http://github.com/ 在windows下的客户端程序&#xff08;msysgit&#xff09;&#xff1a;http://code.google.com/p/msysgit/ 还没有图形客户…

优秀博客链接(linux c/c++ java go php android ios 前端 j2ee windows linux 算法 ACM 深度/机器学习 AI opencv nlp)

pudn阿甘兄 前端 服务端 底层 移动端 大数据 云计算 AI 培训机构的课程差不多就这一套了 大数据 AI NLP 高等数学 LeetCode、《数据结构与算法之美》学习笔记、AI前端资料学习&#xff0c;vue.js react.js flutterleetCode刷完的神机器学习数据挖掘基础Linux c/c大神 目前cs…

一键将Python2代码自动转化为Python3

Python2的代码直接在Python3环境运行的话会报错误&#xff1a; 如果大量的代码&#xff0c;无论是批量替换&#xff0c;还是逐行修改都够累的&#xff0c;这活儿表示不能干&#xff01;&#xff01;&#xff01; 有没有办法一键转换呢&#xff1f; 百度了一下发现网上的方法如…

【前端就业课 第一阶段】HTML5 零基础到实战(十)JavaScript基础一篇入门

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

推理集 —— 实证

现实世界的诸多事就像物理定律&#xff0c;而不是数学定理&#xff0c;也即不保证绝对正确&#xff0c;而需要不断地验证&#xff0c;实证。 不能不经实证就轻言一件事是行还是不行&#xff0c;尤其在事情如果实证的成本较低&#xff0c;比如今天图书馆是不是开门&#xff0c;路…

一款开源的跨平台实时web应用框架——DotNetify

今天给大家介绍一个开源的轻量级跨平台实时HTMLC#.NET Web应用程序开发框架——DotNetify&#xff0c;允许你在C#.NET后端上创建具有React、React Native、Vue或Blazor 前端的实时、响应式、跨平台应用程序。它的主要特点是&#xff1a;简单且轻量响应式后端MVVM内置实时解决方…