表单简介

  Form表单主要用于用户与Web应用程序进行数据的交互,它允许用户将数据发给web应用程序,网页也可以拦截数据的发送以便自己使用。form通常由一到多个表单元素组成,这些表单元素是单行/多行文本框,下拉菜单,按钮,复选框,单选按钮,时间表单元素时 一般要配合label标签,用于描述其目的。其可用属性如下。

     action   用于处理表单信息的应用程序的地址。

     method    浏览器用来提交表单的HTTP方法。

      get        对应于Http协议的GET方法,表单数据被附加在uri上,使用"?"分隔

      post     对应于Http协议的POST方法,表单数据包含在HTTP协议的请求报文的体部。

    name   设定表单的名称

    target   表示浏览器接收到form的提交信息后在哪里显示回应。

       _self,_blank,_parent,_top这些值和超链接的相同

表单数据的内容类型

  通过enctype属性设定表单数据的内容类型

    1. application/x-www-form-urlencoded

      在发送前编码所有字符(默认)使用到的编码方式:

      1)控件的名称和值都被转义,空白字符使用【+】替换,保留的字符一般都是用来实现特定的目的,例如(: / ? ; @ = & 等)。非数字和字母的字符使用%HH(这里 HH表示两个十六进制数字,代表该字符的ASCII码)进行转换,

      2)控件的"名称/值"对按照它们在文档数据流中出现的顺序列出来。"名称""值"使 用"="分割,两个"名称/值"之间使用&隔开。

    2. multipart/form-data

      不对字符编码。在使用包含【文件上传控件】的表单时,必须使用该值。数据分成多个部分,每个部分代表一个结构良好的控件,作为文档数据流的一部分,每一 个部分都按照它们在文档数据流中出现的顺序依次发送到服务器端,并且,每一部分的边界不会出现在数据中。每一部分有一个content-desposition标题头,它的值的格式是: Content-Disposition:form-data;name="myControl"

    3. text/plain

      空格转换为 "+" 加号,但不对特殊字符编码。

表单组件

  input组件用于接受来自用户的数据,其可用属性如下

    1、type 用于设定组件类型

        text 单行文本框

        password 密码框,输入的内容将会被遮挡。

        checkbox 复选框,必须使用value属性来描述该组件所提交的值,使用checked属性默认选 中。

        radio 单选按钮,必须使用value属性来描述该组件所提交的值,使用checked属性默认 选中。一个单选按钮组中所有组件都应该具有相同的name值,这样,每次只能选中按钮组中的 某一个组件

        submit 提交按钮

        reset 重置按钮

        file文件按钮,该组件用于选中文件系统中的某个文件

        hidden 隐藏域,该组件不显示在页面中,但是其值会被提交。

        image 图像按钮,必须使用src来加载图片,使用alt来声明替换文本。

        button 普通按钮

    2、name 用于设定组件类型

    3、value 用于设定初始化,可选。     

    4、checked 单选框,复选框默认选中属性

    5、disabled 表示禁用组件,禁用组件的值也不能被提交

    6、size 当前控件的初始宽度,这个宽度以像素为单位。除非控件类型是text, password,这时宽度是整数值,表示字符的数目,默认为20

    7、maxlength 指定可以输入的字符的最大值。适用于控件类型为text,password。

  fieldset组件用于在一个web表单中对多个控件和标签进行分组

    1、disabled 禁用filedset元素,该属性会影响的fieldset的子元素

    2、name fieldset元素的名称

    fieldset的标题由标签提供

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
<fieldset>
<legend>Title</legend>
<input type="radio" id="radio">
<label for="radio">click me</label>
</fieldset>
</form>
</body>
</html>

  input/button按钮组件用于接受来自用户的数据,其可用属性如下

    按钮控件

    1、input的type 指定控件类型

      button,submit,reset

    2、input的name 按钮名称。

    3、input的value 按钮所关联的值,会与name的值一同被提交

  label组件用于表示某一表单组件的标题 其可用属性如下

    1、for 与为设定标题的表单组件的ID值一致,上面的代码实例有

  select组件用于表示下拉列表或列表,其可用属性如下

    1、multiple 指定控件类型 布尔类型的值,表示是否允许多选,如果select元素不包含属性size和属性 multiple时,表单类型显示为菜单(组合框),如果使用了属性size和属性multiple中 的任意一个,则表单类型显示为列表框。

    2、size 显示的行数 当要表示一个可以滚动的列表时候,size表示同时展示的行数。默认值为0。表 示非列表显示

    3、disabled 表示禁用组件,禁用组件的值也不能被提交

    4、name 用于指定该组件的名字,会与其option子元素的value值组成键值对随其他表单数据一齐被提交

  option组件用于表示选项,常包含<select>、<optgroup>中,其可用的属性如下

    1、disabled 表示禁用组件,禁用组件的值也不能被提交

    2、value 定义控件的初始值。提交表单时,初始值会被提交给服务器。

    3、selected 表示该选项默认被选中

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
<select name="address" id="">
<option value="北京" disabled>北京</option>
<option value="上海" selected>上海</option>
<option value="广州">广州</option>
</select>
</form>
</body>
</html>

  optgroup组件用于表示option的选项组,常包含在<select>中,其可用的属性如下

    1、disabled 表示禁用组件,禁用组件的值也不能被提交

    2、label 表示选项组的名称

    3、selected 表示该选项默认被选中

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
<select name="address" id="">
<optgroup label="广东省">
<option value="广州">广州</option>
<option value="深圳">深圳</option>
</optgroup>
<optgroup label="江苏省">
<option value="苏州">苏州</option>
<option value="盐城">盐城</option>
</optgroup>
</select>
</form>
</body>
</html>

  textarea组件用于表示多行文本框,没有value属性,其值被包含在标签内 其可用属性如下

    1、rows 定义文本框的行数

    2、cols 定义文本框的列数

    3、warp 表示是否自动换行

       • off 不自动换行

      • hard自动硬回车换行,换行元素一同被传送到服务器中

      • soft自动软回车换行,换行元素不会传到服务器中

    4、disabled 表示禁用组件,禁用组件的值也不能被提交

    5、readonly 表示该组件只读,其值依然会被提交

    6、name 用于指定该组件的名字,会随着其值一同被提交到后台

新增表单组件

  progress组件用于表示任务的完成情况,常用于进度条 其可用的属性如下

    1、max 定义进度元素所要求的任务的工作量,默认值为1

    2、value 定义已经完成的工作量,如果max值为1,该值必须是介于0~1之间的小 数。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
<progress value="70" max="100"></progress>
</form>
</body>
</html>

  output 组件用于表示用户动作产生的结果 其可用的属性如下

    1、name 定义元素的名称

    2、for 其他元素的id列表,表明这些元素为计算提供了输入值(或其他影响)。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="" oninput="result.value=parseInt(a.value)+parseInt(b.value)">
<input type="range" name="b" value="50">+
<input type="number" name="a" value="10">=
<output name="result"></output>
</form>
</body>
</html>

  meter元素表示规定范围内的数量值。呈现的效果有一个类似于进度条

    例如:磁盘使用量,某个候选者的投票人数占 总投票人数的比例等

    1、value :在元素中特地表示出来的实际值,该值在min与max之间,如果未指定 ,该值默认为1

    2、min :指定规定范围时允许使用的最小值,默认为0

    3、max :指定规定范围时允许使用的最大值,默认为1

    4、low :规定范围的下限值必须小于或等于high属性的值

    5、high :规定范围的上限值(表示较高危险的意思)

    6、optimum :最佳值

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>He got a <meter low="69" high="80" max="100" value="70">B</meter>on this exam</p>
</body>
</html>

    datalist组件表示其他控件可用的值,其值通过<option>作为datalist的子元素存在

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<label for=""> choose a browser from this list:</label>
<input type="text" name="myBrowser" list="browsers">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Internet Explorer">
<option value="Opera">
<option value="Safari">
<option value="Microsoft Edge">
</datalist>
</body>
</html>

  新增表单属性

    1、type

      在H5中,对input的type进行了扩展,可以有更多的取值

        1、date 日期控件(年,月,日,不包含时间)

        2、datetime-local 日期时间控件

        3、time 时间控件

        4、month 日期插件(年,月)

        5、week 日期插件(年,周)

        注意:以上只能被chrome,opera支持

        6、number 数字控件(只能输入数字)

        7、range 范围控件(通过控制条可以调整取值)

        8、search 搜索控件,

        9、tel 电话控件

        10、url 地址控件

        11、color 颜色控件

        12、email email控件

前端开发HTML5——表单标签的更多相关文章

  1. [Web 前端] 003 html 表单标签

    目录 表单标签 1. form 标签 2. 表单控件 2.1 登录框 2.2 单选按钮 2.3 多选按钮 3. select 标签 4 文件上传 5. textarea 标签 6. 按钮 7. 隐藏域 ...

  2. 前端 HTML form表单标签 textarea标签 多行文本

    <textarea></textarea>作用:允许用户录入多行数据到表单控件中 <!DOCTYPE html> <html lang="en&qu ...

  3. 前端 HTML form表单标签 input标签 type属性 file 上传文件

     加上上传文件功能 input type='file' - 依赖form表单里一个属性 enctype="multipart/form-data" 加上这个属性表示把你上次文件一点 ...

  4. 前端 HTML form表单标签 select标签 option 下拉框

    <select></select> select里面通常跟option配合使用 <!DOCTYPE html> <html lang="en&quo ...

  5. 前端 HTML form表单标签 input标签 type属性 重置按钮 reset

    input type="reset" value="重置" reset重置 还原到默认状态 <!DOCTYPE html> <html lan ...

  6. 前端 HTML form表单标签 input标签 type属性 radio 单选框

    <input type="radio"> 单选框 适用于 选择性别按钮网页等 <!DOCTYPE html> <html lang="en& ...

  7. 前端 HTML form表单标签 input标签 type属性 checkbox 多选框

    多选框 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  8. css 表单标签两端对齐

    来自:http://demo.doyoe.com/css3/justify/justify-form.htm  侵删 <!DOCTYPE html> <html lang=" ...

  9. HTML的表格标签,列表标签,表单标签,HTML5有哪些新特性

    欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 前端学习:学习地址:黑马程序 ...

随机推荐

  1. rocksdb和leveldb的bloom filter比较

    memtable中的bloom filter rocksdb在memtable中添加了prefix bloom filter,就是对key取prefix,然后把这个prefix加入到bloom fil ...

  2. 【转载】Kafka史上最详细原理总结

    Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量 ...

  3. TCP/IP协议的分层

    T C P / I P协议族是一组不同的协议组合在一起构成的协议族.尽管通常称该协议族为 T C P / I P,但T C P和I P只是其中的两种协议而已(该协议族的另一个名字是 I n t e r ...

  4. MySQL 主从复制开启 GTID

    GTID (Golobal Transaction ID) 是对于一个已提交事务的唯一编号,并且是一个全局(主从复制)唯一的编号. GTID 复制和传统复制的区别:在启动主从复制时,不需要指定 bin ...

  5. docker镜像管理(二)

    docker镜像 docker镜像含有启动容器所需要的文件系统和内容,因此,其用于创建并启动docker容器 docker镜像采用分层构建机制,最底层为bootfs,其之为rootfs bootfs: ...

  6. [视频教程] docker端口映射与目录共享运行PHP

    当我们在容器中安装完环境以后,需要在宿主机的端口上访问到容器中的端口,这时候就需要做端口映射.在开发代码的时候,需要频繁的修改代码,因此要把宿主机上的代码目录共享到容器中,这样容器里面就能访问的到代码 ...

  7. CSS百分比padding实现比例固定图片自适应布局

    一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比 ...

  8. SpringCloud琐碎内容

    SpringCloud提供了很多监控端点,可以使用http://{ip}:{port}/{endpoint}得形式来访问这些端点,从而了解应用程序的运行状况. Actuator提供的端点,如表3-2所 ...

  9. java中的转义字符(遇到再进一步总结)

    一.常见的转义字符转移字符对应的英文是escape character , 转义字符串(Escape Sequence)字母前面加上捺斜线""来表示常见的那些不能显示的ASCII字 ...

  10. Java并发编程核心知识体系精讲

    第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点 ...