HTML 表单标签大全

引言:

表单是我们在日常页面之中最多用来与用户交互数据的一种方式,其中有许许多多的标签带我们来开发,H5之中更是添加了新的可用标签大大丰富了表单的内容,我们现在就一起来看一看吧。

正文:

1.form标签:说道表单,首先想到的是form标签,我们先来看一看它的属性吧。


    --accept-charset:一个空格分隔或逗号分隔的列表,这个列表包括了服务器支持的字符编码。浏览器以这些编码被列举的顺序使用它们。默认值是一个保留字符串“UNKNOWN”。这个字符串指的是,和包含这个form元素的文档相同的编码。

在之前版本的HTML中,不同的字符编码可以用空格或逗号分隔。在HTML5中,只有空格可以允许作为分隔符。


    -- action:处理这个程序所在的URL内容,可以被input和button之中的formaction重写。


    -- autocomplete:用于指示input内容是否拥有默认值,这个默认值是由浏览器自动补全的。这个设定可以被属于这个form的子元素的 autocomplete 属性重载(覆盖)。

        #off: 在每一个用到的输入域里,用户必须显式的输入一个值,或者document 以它自己的方式提供自动补全;浏览器不会自动补全输入。

        #on: 浏览器能够根据用户之前在form里输入的值自动补全。


    -- enctype:method为post的时候,指定提交内容的MIME类型,可能的取值为

        #application/x-www-form-urlencoded: 如果属性未指定时的默认值。

        #multipart/form-data: 这个值用于一个type属性设置为 "file" 的元素。

        #text/plain (HTML5)。

        详细说明请看下文。同时这一属性可能被button或者input之中的formenctype给覆盖。


    -- method:这一属性表示了提交数据的方式,一般是使用get或者post内容。


    -- name:表单名称,H4之中不被推荐使用这一属性,推荐为id,H5之中一个文档的多个form值之中name必须唯一而不仅仅是空字符。


    -- novalidate:布尔类型,提交时是否需要被验证。默认值被button或者input之中的formnovalidate代替


    -- target:表示提交之后,在哪里收到回复。H4之中这是一个用在frame的关键字,在H5之中这是一个用在browsing context浏览器上下文之中的属性。属性可能如下:

        #_self: 在当前HTML4或HTML5文档页面重新加载返回值。这个是默认值。译注:也就是说如果这个文档在一个frame中的话,self是在当前frame(document)中重新加载的,而不是整个页面(window)。

        #_blank: 以新的HTML4或HTML5文档窗口加载返回值。

        #_parent: 在父级的frame中以HTML4或HTML5文档形式加载返回值,如果没有父级的frame,行为和_self一致。

        #_top: 如果是HTML 4文档: 清空当前文档,加载返回内容;HTML5: 在当前文档的最高级内加载返回值,如果没有父级,和_self的行为一致。

        #iframename: 返回值在指定frame中加载。

HTML5: 这个值可以被<button> 或者<input>中的formtarget属性重载(覆盖)。



下面我们来以此介绍表单之中的标签内容吧。

最为常见的input标签。输入框内容优先介绍:

input:标签主要用于用户的少量数据的输入内容,允许你用户输入具体信息。其属性如下:

    -- type:可以注意到我们使用input标签的时候需要设置他的类型属性,默认是最为原始的明文输入框内容,但是实际上其还有许多的种类,下面我们来具体了解一下:

        #button:无缺省行为按键。

        #checkbox:复选框内容。必须使用value来定义提交时候的值,可以使用多个checkbox相同的name,如果多个值被选中提交的时候一数组的形势。checked状态表示选中,如果没有表示未选中。也可以使用indeterminate 指示复选框在一种不确定状态。

        #color *:选定颜色的空间(属性之后有 * 标记的是H5的新增属性内容。)

        # date *:用于输入日期的空间(年月日,不包括事件)。

        # datetime * :基于UTC时区的日期时间输入控件(时,分,秒,及几分之一秒)

        # datetime-local * :用于输入日期时间空间,不包括时区。

        # email *:H5用于编辑e-mail的字段。合适的时候可以使用 :valid 和 :invalid CSS 伪类。

        # file:表示文件上传内容,使用accept可以定义文件可以选择的类型。

        # hidden:不显示在页面上面的控件,但是值会被提交。

        # image:图片提交按键,使用src来定义图片来源。

        # month * :输入年月的空间不带时区。

        # number * :用于输入浮点数的控件。

        # password:一个不可见值的但行文本,可以使用maxlength指定可以输入的最大长度。

        # radio:表示单选内容,多个radio使用同一个名称,则最后以选中的那一项的值作为name对应的值。同时必须设value,否则选中之后没有值。

        # range *:滑动轴,范围间取值,用与不确定的数值内容。有min(最小值),max(最大值),value(选定值),step(变动基数,比如3,则可以选定的值为3或者3的倍数)。

        # reset:重置按键,重置当前表单内容。

        # search *:用于搜索字符串的但行文本字段,换行会被从输入的值中自动移除。

        # submit:提交按键,不用多说。

        # tel *:用于输入电话号码的控件;换行会被自动从输入的值中移除A,但不会执行其他语法。可以使用属性,比如 pattern 和 maxlength 来约束控件输入的值。恰当的时候,可以应用 :valid 和 :invalid CSS 伪类。

        # text:普通文本输入框。

        # time:用于输入不含时区的事件控件。

        # url *:用于编辑URL的字段可以使用如:pattern 和 maxlength 样的属性来约束输入的值。 恰当的时候使可以应用 :valid 和 :invalid CSS 伪类。

        # week *:用于输入一个由星期-年组成的日期,日期不包括时区


        上面介绍了input类型之后接下来介绍一下input属性,type就不用说了,input标签还有许多的属性内容:

    -- accept:这一属性上面有提到,只有当type是file的时候才会有用。可以通过逗号来分隔开多个类型结束符,或者也可以使用mime类型,同样也可以使用audio/*, video/*, image/*表示不同类型的文件。

    -- autocomplete:自动填充属性,这一属性实际上是要依据类型来确定的,有些类型的input是会忽略这一值的,而可以设置这一值的类型的输入框内容,有需要依据其不同的需求可以设置很多种属性。由于属性太多,这里并不一一介绍了。

    -- autofocus: 自动聚焦,焦点自动的附加在指定的页面设置的控件上面。

    -- checked:checkbox或者radio选中属性。

    -- maxlength:最大限制输入字符数

    -- pattern:检查控件值的正则表达式,pattern匹配整个值,而不仅仅是某些子集,使用title来描述帮助用户的模式,当类型为text,search,tel,url或者email时适用。

    -- placeholder:提示用户输入框的作用。

    -- readonly:这属性指明当前不可修改。

    -- required:设置当前的值为必须填写项。

    -- size:部分控件可用。设置输入字符量设置。

    -- spellcheck:将此属性的值设置为true表示元素需要检查其拼写和语法,值default 表示该元素将根据默认行为进行操作,可能基于父元素自己的spellcheck值。值false表示不应该检查元素。

    -- step:使用minmax 属性来限制可以设置数字或日期时间值的增量。它可以是任意字符串或是正浮点数。如果此属性未设置为任何,则控件仅接受大于最小步长值的倍数的值。

    -- width:image的宽度


select下拉列表菜单内容

我们常常会在表单里面为用户提供一个下拉框表单,提供用户预选选项。选项标签option配合select来进行数据展示,value来确定传递的值,两个标签之间的值则为展示内容。同时有时选项还是可以通过optgroup来进行分组使用的。

首先来看一下select标签的相关内容吧。

    -- autofocus:当前内容自动聚焦。

    -- disabled:是否可以操控当前的空间。

    -- multiple:多选控制,可多选选项。

以上三个将会是我们最为常用的属性内容。同时还有例如,name等这里就不在多提。

option内容我们主要使用的属性是value来标识当前选项的属性值。之后便是selected这个属性表示的是被选中。

optgroup这一标签的主要属性内容是label表示当前选项组的名称。


textarea大段文本输入工具。

处理input之外我们还常常使用这一标签来进行输入内容交互。我们先来看一下相关的属性吧。

    -- autocomplete:自动填充。

    -- autofocus:自动聚焦。

    -- cols:文本域的可视宽度。必须为正数,默认为20 (HTML5)。

    -- maxlength:允许用户输入的最大字符长度,未指定表示无限长。

    -- minLength:表示最小字符长度。

    -- rows:元素的输入文本的行数。

    -- wrap:指定文本换行的方式。默认为soft。可能的值为:hard: 在文本到达元素最大宽度的时候,浏览器自动插入换行符(CR+LF) 。比如指定 cols值。soft: 在到达元素最大宽度的时候,不会自动插入换行符。


button:表单按键

提供点击交互内容。我们来看一看有那些属性内容吧。

    -- type:按键类型,通常有一般类型,提交按键或者重置按键,我们常用的提交按键就是submit类型。

    -- form:规定按钮属于一个或多个表单。

    -- formaction:覆盖的动作内容。

    -- formenctype:覆盖表单的enctype属性内容。

    -- name:表示的是当前按键的名称


上面使我们在表单之中常用标签内容。下面我们来聊一聊form传递数据的时候是以什么样的格式,我们在后台应该怎么杨获取,或者我们可以通过什么样的方式来模拟这一格式。

    ## get方法的时候,相关参数会体现在URL之后。使用?来进行参数以及对应页面的之间的间隔,使用&链接数据项内容。

所以我们在使用这一方式来传递数据的时候需要额外的注意,这一类的数据需要是可以明朗化的数据,或者是已经加密之后,展示出来的字符串内容将不会明面展示的数据,才比较适合用get方式来进行数据的传输,同时get方式传递的数据内容是由长度限制的。

   ## post方法:用HTTP请求体来进行数据的存储,发送给后台内容,所以在URL之中我们是看不到需要传递的数据的内容的。

那post方式传递数据的时候,请求的数据是如何进行组织和传递的呢。我们在使用form表单的时候会使用enctype来进行字符串内容的编码,通过这一属性来设置,传递的数据内容的编码方式,其值如下内容:

enctype的值

默认情况是使用第一个类型的,其会自动的将传递的数据按照键值的形势来进行拼接内容,主要类似于k1=xxx&k2=xxx这样的方式。


第二种请求头常用于表单内容有文件上传的情况。

上图就是上传时候的结构。首先请求头中的Content-Type 是multipart/form-data; 并且会随机生成一个boundary, 用于区分请求body中的各个数据; 每个数据以 --boundary 开始, 紧接着换行,下面是内容描述信息, 接着换2行, 接着是数据; 然后以 --boundary-- 结尾, 最后换行;

文本数据和文件,图片的内容描述是不相同的

文件参数如下:

其实还有许多其他的请求数据传输格式,这里就不细说了。

文章对于请求格式部分内容有参考https://www.jianshu.com/p/4f9e79eb0163 这一文章。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容