form表单的作用
form表单中包含众多交互控制原件,可以向服务器提交数据,从而实现用户和服务器的交互。
常用的input标签
| input 类型 | 作用
|-----
| type="text" | 定义单行输入文本框
| type="button" | 定义按钮
| type="checkbox" | 定义复选框,可多选
| type="radio" | 定义单选框,只能单选,并且所有单选框的name值一套保持一致,这样才能生效
| type="submit" | 定义提交按钮
| type="password" | 定义密码,输入时*代替输入值,看不到输入值
| type="reset" | 定义重置按钮,重置后表单重回默认时的状态
| type="color" | html5中用于指定颜色的控件
| type="date" | html5中用于输入日期的控件
post和get的区别
- get在浏览器回退时时无害的,而post会再次提交请求
- get产生的url地址会被bookmark,而post不行
- get请求会被浏览器主动cache,而post不会,除非手动设置
- get请求在url中传送的参数是有长度限制的,而post没有
- get直接将参数暴露在url中,所以不能用来传递敏感重要信息,相较于这一点来说post更安全
- 对参数的数据类型,get只接受ASCII字符,而post没有限制
- get参数通过URL传递,post放在Request body中
input标签中的name属性
由于表单提交的数据一般都是以key:value的方式提交,所以input中的name属性主要用来标识提交的数据的key值,好让服务器处理程序分辨。
例如:
<input name="name" value="adam">
<input name="age" value="18">
在服务器收到的数据可能是这样的:
{ name=adam, age=18 }
radio的分组
radio标签的分组是通过name属性来做到的,yong为一组
placeholder有什么作用
placeholder属性一般会在输入框有一个提示,该提示会在输入字段为空时显示,并会在字段获得焦点时消失。但是要注意:
- placeholder 属性适用于以下的 <input> 类型:text, search, url, telephone, email 以及 password
- placeholder为HTML5的新属性
type=hidden隐藏域的作用
隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
下面列举一些隐藏域的使用场景:
- 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey等。当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。
- 有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick=”document.form.command.value=”xx””然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
- 有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
html表单的用法
用form标签定义一个表单
<form id="myForm" action="提交的地址" method="post/get" >
单选框radio
<input type="radio" name="sex" value="man" checked="checked">男 /*默认选择*/
<input type="radio" name="sex" value="woman">女
复选框checkbox
<input type="checkbox" name="" value="看书">看书
<input type="checkbox" name="" value="写字" checked="checked">写字 /*默认选择*/
<input type="checkbox" name="" value="画画">画画
下拉框select
<select>
<option value="奥迪">奥迪</option>
<option value="宝马" selected="selected">宝马</option> /*默认选择*/
<option value="奔驰">奔驰</option>
</select>
单行文本输入框
<input type="text" name="" placeholder="输入时消失" />
多行文本输入
<textarea name="" cols="6" rows="5"> /*cols竖行 rows横行*/
文本文本文本文本文本
</textarea>
密码输入
<input type="password" name="" />
按钮
<button name="">确定</button>
<input type="button" name="" />
<input type="submit" name="" />
<input type="reset" name="" />