任务5-form表单的用法

2017-01-03  本文已影响0人  大胡子歌歌

1.form表单有什么作用?有哪些常用的input 标签,分别有什么作用?

HTML 表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。
HTML表单是一个包含表单元素的区域, 表单使用<form> 标签创建。表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含menus、textarea、fieldset、legend 和 label 元素。
表单属性
name:表单的名称。
action:规定当提交表单时,向何处发送表单数据。action取值为:
第一,一个URL(绝对URL/相对URL),一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理。
比如<form action="http://www.cnblogs.com/reg.ashx">,当用户提交这个表单时,服务器将执行网址"http:/ /www.cnblogs.com/"上的名为“reg.ashx”的一般处理程序。

第二,使用mailto协议的URL地址,这样会将表单内容以电子邮件的形式发送出去。这种情况比较少见的,因为它要求访问者的计算机上安装和正确设置好了邮件发送程序。
第三,空值,如果action为空或不写,表示提交给当前页面。

method:该属性定义浏览器将表单中的数据提交给服务器处理程序的方式。关于method的取值,最常用的是get和post。
第一,使用get方式提交表单数据,Web浏览器会将各表单字段元素及其数据按照URL参数格式附在<form>标签的action属性所指定的URL地址后面发送给Web服务器;由于URL的长度限制,使用get方式传送的数据量一般限制在1KB以下。

第二,使用post方式,浏览器会将表单数据作为HTTP请求体的一部分发送给服务器。一般来说,使用post方式传送的数据量要比get方式传递的数据量大;根据HTML标准,如果处理表单的服务器程序不会改变服务器上存储的数据,则应采用get方式(比如查询),如果表单处理的结果会引起服务器上存储的数据的变化,则应该采用post方式(比如增删改操作)。

target:该属性规定在何处显示action属性中指定的URL所返回的结果。取值有:
_blank(在新窗口中打开)
_self(在相同的框架中打开,默认值)
_parent(在父框架中打开)
_top(在整个窗口中打开)
framename(在指定的框架中打开)

title:设置网站访问者的鼠标放在表单上的任意位置停留时,浏览器用小浮标显示的文本。

enctype:规定在发送到服务器之前应该如何对表单数据进行编码。
取值:
默认值为 "application/x-www-form-urlencoded",在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值);
“multipart/form-data”:不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。

input标签常用的有:
1)单行文本框<input type="text"/>

(input 的type 属性的默认值就是"text")用例:<input type = “text” name=“名称”/>
以下是单行文本框的主要属性:
size:指定文本框的宽度,以字符个数为单位;在大多数浏览器中,文本框的缺省宽度是20个字符。
value:指定文本框的默认值,是在浏览器第一次显示表单或者用户单击<input type="reset"/>按钮之后在文本框中显示的值。
maxlength:指定用户输入的最大字符长度。
readonly:只读属性,当设置readonly属性后,文本框可以获得焦点,但用户不能改变文本框中的value。
disabled:禁用,当文本框被禁用时,不能获得焦点,当然,用户也不能改变文本框的值。并且在提交表单时,浏览器不会将该文本框的值发送给服务器。

2)密码框<input type="password"/>

用例:<input type=“password” name=“名称”/>
密码字段中的字符会被掩码(显示为星号或原点)。

3)单选按钮<input type="radio"/>

使用方式:使用name相同的一组单选按钮,不同radio设定不同的value值,这样通过取指定name的值就可以知道谁被选中了,不用单独的判断。单选按钮的元素值由value属性显式设置,表单提交时,选中项的value和name被打包发送,不显式设置value。
用例:

<input type=“radio” name=“gender” value=“male”/>
<input type=“radio” name=“gender” value=“female”/>
4)复选框<input type="checkbox"/>

使用复选按钮组,即name相同的一组复选按钮,复选按钮表单元素的元素值由value属性显式设置,表达提交时,所有选中项的value和name被打包发送
不显式设置value。复选框的checked属性表示是否被默认选中,
<input type="checkbox" checked />或者
<input type="checkbox" checked="checked" />(推荐)
checked、readonly等这种一个可选值的属性都可以省略属性值。
用例:

<input type =“checkbox” name=“language” value=“java”/>
 <input type =“checkbox” name=“language” value=“c”/>
 <input type =“checkbox” name=“language” value=“JavaScript”/>
5)隐藏域<input type="hidden"/>

隐藏域通常用于向服务器提交不需要显示给用户的信息。
<input type=“hidden” name=“隐藏域”/>

6)提交按钮<input type="submit"/>

当用户单击<inputt type="submit"/>的提交按钮时,表单数据会提交给<form>标签的action属性所指定的服务器处理程序。中文IE下默认按钮文本为“提交查询”,可以设置value属性修改按钮的显示文本。 
用例:<input type="submit" value="提交"/>

7)重置按钮<input type="reset"/>

当用户单击<input type="reset"/>按钮时,表单中的值被重置为初始值。在用户提交表单时,重置按钮的name和value不会提交给服务器。
用例:<input type=“reset” value=“重置按钮"/>

8)普通按钮<input type="button"/>

普通按钮通常用于单击执行一段脚本代码。
用例:<input type="button" value="普通按钮"/>

8)图像按钮<input type="image"/>

图像按钮的src属性指定图像源文件,它没有value属性。图像按钮可代替<input type="submit"/>,而现在也可以通过css直接将<input type="submit"/>按钮的外观设置为一幅图片。
用例:<input type="image" src="bg.jpg" />

9)文件上传<input type="file"/>

使用file,则form的enctype必须设置为multipart/form-data,method属性为POST。
用例:

<input name="uploadedFile" id="uploadedFile" type="file" size="60" accept="text/*"/>
文件上传用例
10)其它标签

多行文本<textarea></textarea>
多行文本<textarea>创建一个可输入多行文本的文本框,<textarea>没有value属性,<textarea>文本</textarea>,cols=“50”、rows=“15”属性表示行数和列数,不指定则浏览器采取默认显示。
用例:

1 <textarea name=“textareaContent” rows=“ 10“ cols=“40” >
2  多行文本框的初始显示内容 
3 </textarea>
多行文本用例

下拉选择框
下拉选择框允许你在一个有限的空间设置多种选项。
代码格式:
<select name="..." size="..." multiple>
<option value="..." selected>...</option>
  ...  
</select>  
属性解释:
size属性定义下拉选择框的行数;  
name属性定义下拉选择框的名称;  
multiple属性表示可以多选,如果不设置本属性,那么只能单选;  
value属性定义选择项的值;  
selected属性表示默认已经选择本选项。

<select name="mySelt" size="1" >
<option value="1" selected>baidu.com</option>
<option value="2">sina.com</option>
<option value="3">sohu.com</option>
</select>
下拉文本框

<label></label>标签
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
<label></label>标签对<input type="radio"/>和<input type="checkbox"/>这两个标签是非常有用的。

<input type="radio" name="sex" id="male" value="0" checked="checked" />
<label for="male">男</lable>
<input type="radio" name="sex" id="fmale" value="1" />
<label for="fmale">女</label>
<input type="radio" name="sex" id="secret" value="2" />
<label for="secret">保密</label>

2.post 和 get 方式的区别?

FORM中的get post方法区别Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下:
1)Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
2) Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
3) Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后 放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。 Post的所有操作对用户来说都是不可见的。
4)Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
5)Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
6)Get是Form的默认方法。

3.在input里,name 有什么作用?

name 定义input的名称属性,作为可与服务器交互数据的input元素的服务器端的标示。
注意和id属性的区别:name属性是和服务器通信时使用的名称;而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和JavaScript中使用的。

4.radio 如何 分组?

使用name相同的一组单选按钮,不同radio设定不同的value值,这样通过取指定name的值就可以知道谁被选中了,不用单独的判断。

5.placeholder 属性有什么作用?

HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。
例:<inputid="t1"type="text"placeholder="请输入文字"/>

placeholder属性

6.type=hidden隐藏域有什么作用? 举例说明

隐藏域在页面中对于用户是不可见的。它有两个作用:
1)暂存信息,(用户看不到),便于设计者随时调用程序。
2)用于安全性校验,例如通过设置hidden隐藏域,服务器可以验证用户权 限,避免伪造的假网站提交数据。

上一篇下一篇

猜你喜欢

热点阅读