HTML表单

HTML使用表单向服务器提交请求,表单、表单控件的主要作用就是收集用户输入,当用户提交表单时,用户输入内容将被作为请求参数提交到远程服务端

form元素

属性 作用
action 指定当单击表单内的“确认”按钮时,该表单被提交到哪个地址。该属性必填
method 指定提交表单时发送何种类型的请求,该属性值可为get或post,该属性必填
enctype 指定对表单内容进行编码所使用的字符集
name 指定表单的唯一名称,建议该属性值与id属性值保持一致
target 指定使用哪种方式打开目标URL(提交请求会打开另一个URL资源),该属性值可以是_blank,_parent,_self,_top四个值中之一。

get和post的区别

  • get和post是HTTP协议中的两种发送请求的方法,它们本质上都是TCP连接,但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。get方式产生一个TCP数据包;post方式产生两个TCP数据包。对于get方式的请求,浏览器会把http header和data一并发送出去,服务器相应并返回数据;而对于post,浏览器先发送header,服务器响应,浏览器再发送data,服务器响应并返回数据。
  • get方式请求:get方式请求会将请求参数的名和值转换成字符串,并附加在原URL之后,因此可以在地址栏中看到请求参数名和值。且get请求传送的数据量较小,一般不能大于2KB。
  • post请求方式:post方式传送的数据量较大,通常认为post请求参数的大小不受限制,但往往取决于服务器的限制,post请求传输的数据量比get传输的数据量大。而且post方式发送的请求参数以及对应的值放在Request body中传输,用户不能再地址栏里看到请求参数值,安全性相对较高。
  • get在浏览器退回时是无害的,而post会再次提交请求。
  • get请求只能进行URL编码,而post支持多种编码方式。
  • get请求参数会被完整的保留在浏览器历史记录里,而post中的参数不会被保留。
  • 对于参数的数据类型,get只接受ASCII字符,而post没有限制。
  • get参数通过URL传递,post放在Request body中。

表单的enctype属性用于指定表单数据的编码方式,该属性有如下三个值。

  • application/x-www-form-urlencoded:这是默认的编码方式,它只处理表单控件里的value属性值,采用这种编码方式的表单会将表单控件的值处理成URL编码方式。
  • multipart/form-data:这种编码方式会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。当需要通过表单上传文件时使用该属性值。
  • text/plain:当表单的action属性值为mailto:URL的形式时使用这种编码方式比较方便,这种编码方式主要适用于直接通过表单发送邮件的方式。

提交表单时,表单里的表单控件将会转换成请求参数。表单控件转换成请求参数的规则如下:

  • 每个有name属性的表单控件对应一个请求参数,没有name属性的表单控件不会生成请求参数。
  • 如果多个表单控件有相同的name属性,则多个表单控件只生成一个请求参数,只是该参数有多个值。
  • 表单控件的name属性指定请求参数名,value属性指定请求参数值。
  • 如果某个表单控件设置了disabled,则该表单不会再生成请求参数。

大部分表单控件都可以获得鼠标焦点,响应鼠标事件,因此它们都可以指定onfocus,onblur属性,分别用于设置得到焦点、失去焦点事件响应。而且这些表单控件都可以指定tabIndex属性,通过设置tabIndex属性,让用户无需使用鼠标,就可以让输入焦点在各表单控件上转移。

input元素

input中type属性值

  1. text单行文本框
  2. password密码输入框,输入值自动变为原点
  3. checkbox复选框,靠name属性分组,提交到后端的时候被选中的value是值
  4. radio单选框,靠name分组,value值被提交到后端
    5.file文件上传 ,accept设定上传文件类型
  5. hidden 隐藏域,用于暂存一些信息;用于验证时候安全(数据发送人是否是合法的用户),避免随意伪造数据。
    7.image图像域,此时可为input元素指定width和height两个属性,图像域和提交按钮的作用基本一样,单机它们都会导致表单被提交,区别是图像域是一个图像按钮。
  6. button无动作按钮,在默认情况下,单机该按钮对表单不会有任何作用。通常我们可以为该按钮编写JavaScript脚本来响应它的单机双击等事件。
  7. submit提交表单
  8. reset重置表单

label元素

label元素用于在表单元素中定义标签,这些标签可以对其他可生成请求参数的表单控件元素(如单行文本框、密码框等)进行说明

<label for="username">单行文本框:</label>
<input id="username" name="username" type="text"> //让标签和表单控件关联

button元素

用于定义一个按钮,在button元素内部可以包含普通文本,文本格式化标签,图像等内容,这也是button按钮和input按钮的不同之处。

列表

<form action="">
  <label for="">课程</label>
  <select name="lessons" id="lessons">
    <option value="English">英语</option>
    <option value="Chinese">语文</option>
    <option value="Math">数学</option>
  </select><br>
  <label for="">时间</label><br>
  <select name="days" id="days">
    <option value="Monday">星期一</option>
    <option value="Tuesday">星期二</option>
    <option value="Wednesday">星期三</option>
    <option value="Thursday">星期四</option>
    <option value="Friday">星期五</option>
  </select><br>
</form>

textarea元素

用于生成多行文本域

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

推荐阅读更多精彩内容

  • <input>标签 标签用于搜集用户信息,根据不同的type属性值,输入字段拥有很多种形式。输入字段可以是文本字段...
    _空空阅读 4,019评论 0 3
  • 一、表单 1. 表单的作用 HTML 表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户...
    zx9426阅读 404评论 0 1
  • 1 表单是如何工作的? 用户在网页上填写表单并提交所填信息,浏览器将用户提交的数据发送至 Web 服务器, Web...
    饥人谷_Mily阅读 1,184评论 0 1
  • 我们从上学时期的死党至今已经近20年了。弹指一挥间,感叹近20年了,回想疯狂的青春,分享生活的酸甜,为了友谊大家都...
    e19bccc7fb7e阅读 549评论 0 0
  • [cp][ 我想画下遥远的风景,画下清晰的地平线和山峦,画下许多许多快乐的小河,我还想画下你的面容和我们的未来 ]...
    摄影师心一阅读 109评论 0 0