6-HTML< form>表单标签和属性

一.什么是< form>表单

  • 格式:
<form action="form_action.asp" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>
  • 作用:
    form表单一般用来收集用户的信息,并把信息传送到后台。
  • 注意点:
    1.在浏览器中所有表单标签都有特殊的外观和默认功能格式。
    2.表单能够包含input标签,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含非input 标签 menus textarea fieldset legend label 等。

二.< form>标签

  • 格式:
<form name="myForm" action="form_action.asp" method="get"></form>
  • 作用:
    <form> 标签用于为用户输入创建 HTML 表单。
  • 常用属性:
    name: 表单提交时的名称
    action: 提交到的地址
    method: 规定用于发送 form-data 的 HTTP 方法,提交方式:getpost
    enctype:规定在发送表单数据之前如何对其进行编码
  • application/x-www-form-urlencoded:在发送前编码所有字符(默认)
  • text/plain:空格转换为 "+" 加号,但不对特殊字符编码
  • multipart/form-data:使用包含文件上传控件的表单时,必须使用该值

三.表单提交方式method取值post 和 get 的区别

1.get提交可以在url中看到提交信息,post则是提交到后台。
2.get通常用于提交少量数据得到大量数据,一般用于获取查询信息,比如搜索。post则相反,一般用于更新资源信息,上传数据然后得到回馈信息,如提交博客。
3.get提交的数据一般受浏览器的限制,大小在1kb字节以内。post理论上大小无限制,只受服务器的性能限制。
4.get请求的数据会保留在浏览器历史记录中,安全性不好,所以信息提交一般使用post


四.表单中的< input>标签

  • 格式:
<input name="username" type="text" placeholder="用户名" maxlength=10 value=123/> 
  • 作用:
    <input>标签用于搜集用户信息。根据不同的 type 属性值,输入字段拥有很多种形式。输入字段可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等等。
  • < input>常用属性:
属性 取值 作用
name --- 定义 input 元素的名称
type button/checkbox/file
hidden/image/password
radio/reset/submit/text
规定 input 元素的类型
checked checked 加checked属性会默认选上
placeholder --- 用于在输入框中显示提示信息。输入文字时消失,不会被提交
maxlength number 规定输入字段中的字符的最大长度
value --- 规定 input 元素的值
disabled disabled 当 input 元素加载时禁用此元素,就是禁止输入
autofocus autofocus 规定输入字段在页面加载时是否获得焦点。(不适用于 type="hidden")
  • 注意点:
    1.<input>都要有name属性,用于向提交到后台的信息进行命名,若无name则后台会自动忽略该条信息。
    2.action提交地址若不填写则会直接提交到当前页面。
    3.所有的<input>可以添加属性 disabled来禁用输入。
    4.<input>中除了提交按钮和重置按钮所有标签都可以添加value属性。用来指定将来提交到服务器的值。
    更多属性请查阅w3c

五.< input>常用type类型:

  • < input>标签添加不同的type属性取值可以让< input>有多种类型,结合起来可以组成一个<form>表单。

  1. type="text":文本输入框,用于文本输入。
    格式:
<input name="username" type="text" placeholder="用户名" maxlength=10 /> 

注意点:
标签中添加value属性可以用来给输入框设置默认文本。

  1. type="password":密码输入框,输入时显示星号。
    格式:
<input name="password" type="password" placeholder="密码" />

注意点:
标签中添加value属性可以用来给输入框设置默认密码。

  1. type="radio" : 单选圆圈按钮,name要相同才能实现单选,value要有值
    格式:
<input type="radio" name="sex" value="male" /> 男
<input type="radio" name="sex" value="female" /> 女

注意点:
若想默认单选其中一个,可以在标签中添加checked属性。

  1. type="checkbox" :多选框,加checked属性会默认选上。提交时,如果选中(如bike),则bike=on
    格式:
<input type="checkbox" name="bike" checked/>自行车
<input type="checkbox" name="car" />汽车

注意点:
多选框中一般必须填写每一个选项的name可以把name设置为同一个名字,然后分别设置不同的value值时

  1. type="submit": 提交按钮 用于提交填好的信息
    格式:
 <input type="submit" value="提交" />

注意点:
form表单有另一种设置提交按钮的方式,即在form中使用button标签,这个按钮放在 form 中也会点击自动提交,提交的内容不光可以有文字,还可以有图片等多媒体内容,缺点是不同的浏览器得到的value值不一样,可能还会有其他的兼容问题。
格式:

  <button type="submit">提交</button>
  1. type="reset": 重置按钮 用于清空表单中的数据。
    格式:
 <input type="reset" value="重置" />

注意点:
重置按钮上的文字默认为"重置" ,若想改变文字可以通过value修改。

  1. type="button":按钮
    格式:
 <input type="button" value="按钮上的文字" />

注意点:
可以通过value给按钮制定标题,通常配合JS使用。

  1. type="hidden": 隐藏域 用户看不到,用于暂存数据。或者安全性校验
    格式:
 <input name="url_delete" type="hidden" value="/delete.php" />
<input name="csrf_token" type="hidden" value="a23dafd23444" />

六.type="hidden":隐藏域的作用

  • 1.隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
  • 2.有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,.而且不会有浏览器不支持,用户禁用cookie的烦恼。
  • 3.有些时候一个form里有多个提交按钮,如需使程序能够分清楚到底用户是按那一个按钮提交上来的,我们就可以写一个隐藏域,然后在每一个按钮处加上onclick="document.form.command.value="xx""然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
  • 4.有时候一个网页中有多个form,但多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
  • 5.javascript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
  • 例子:
    比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。

七.表单中的其它标签

  • < textarea>标签 文本域
    格式:
<textarea name="maneywords" maxlength=10 placeholder="ddd"></textarea>

作用:
文本域 用于输入多行文本。
注意点:
1.默认情况下输入框可以无限换行,输入框有自己的宽度和高度。
2.默认情况下输入框可以手动拉伸。
3.可以给< textarea>标签添加colsrows属性来定义宽度和高度。
< textarea cols="2" rows="3">

  • < select>标签 下拉列表
    格式:
<select name="mycar"> 
<option value ="volvo">Volvo</option>
 <option value ="saab">Saab</option> 
<option value="opel">Opel</option>
 <option value="audi" selected>Audi</option> 
</select>

作用:
用于定义下拉列表。
注意点:
1.下拉列表不能输入,但是可以选择,也可以设置默认选项。
2.可以使用< optgroup>标签把下拉列表进行分组,类似建立一个列表。格式如下:

<select>
  <optgroup label="Swedish Cars">
    <option value ="volvo">Volvo</option>
    <option value ="saab">Saab</option>
  </optgroup>

  <optgroup label="German Cars">
    <option value ="mercedes">Mercedes</option>
    <option value ="audi">Audi</option>
  </optgroup>
</select>
  • <lable>标签 聚焦
    格式:
<form>
  <label for="male">Male</label>
  <input type="radio" name="sex" id="male" />
  <br />
  <label for="female">Female</label>
  <input type="radio" name="sex" id="female" />
</form>
<form>
  <label for="acc123">账号:</label>
  <input type="text" name="account" id="acc123" />
</form>

作用:
<label> 标签为input 元素定义标注(标记)。在 label元素内点击文本,就会触发此控件。就是说,当用户选择label 元素内包裹的文本,浏览器就会自动将焦点转到和该文本相关的表单控件(输入框等)上。
注意点:
1.使用步骤:将文本用<label> 标签包裹起来,给文本相关的表单控件绑定的(输入框等)设置一个id名。最后在<label> 标签中设置for属性的值为id。
2.另一种聚焦格式,不过此种格式只能设置文本与表单控件单独在一行的时候,有很大的局限性。格式如下:

<label>
  账号:<input type="text" name="account" id="acc123" />
</label>
  • <datalist>标签 待选项
    格式:
<input id="myCar" list="cars" />
<datalist id="cars">
  <option value="BMW">
  <option value="Ford">
  <option value="Volvo">
</datalist>

作用:
<datalist> 标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。就是说给输入框绑定待选项。
注意点:
一般直接在<input>标签中用list属性绑定。

  • type中的一些参数设定可检验输入框中输入的内容是否符合格式,不过部分浏览器不支持,特别是ie全部不支持。例如:
邮箱 <input type="email">
域名 <input type="url">
电话 <input type="number">
日历 <input type="date pickers">
搜索 <input type="search">
范围 <input type="range">
颜色 <input type="color">

*** 此文章著作权由饥人谷_刘冲饥人谷(QQ 群: 222459918) 所有。转载须说明来源。***

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

推荐阅读更多精彩内容

  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,224评论 1 41
  • 什么是FORM表单: 表单是用来提交资料、意见,规范流程执行过程的格式。表单在网页中主要负责数据采集功能。一个表单...
    PYFang阅读 1,117评论 0 0
  • 本人做php的,最近发现JS真的是博大精深啊,比PHP难.在HTML中,表单是由form元素来表示的,但是在jav...
    linfree阅读 2,133评论 3 17
  • 表单基础知识 在HTML中,表单是由 元素来表示的,而在JS中,表单对应的则是HTMLFormElement类型。...
    oWSQo阅读 902评论 0 1
  • HTML表单 在HTML中,表单是 ... 之间元素的集合,它们允许访问者输入文本、选择选项、操作对象等等,然后将...
    兰山小亭阅读 3,408评论 2 14