表单在网页中主要负责的是数据采集功能,一个表单基本由三部分组成:
表单标签:这里面包含了处理表单数据所用 CGI (Common Gateway Interface,通用网关接口)程序的 URL (Uniform Resource Location,统一资源定位符)以及数据提交到服务器的方法。
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
下面对表单的三个部分分别进行说明。
一、表单标签
1. 功能
表单标签用于申明表单,定义采集数据的范围。也就是说< form>和< /form >里面包含的数据将被提交到服务器或者电子邮件里。
2. 标签格式
基本格式:
<form></form>
<FORM ACTION="URL" METHOD="GET|POST" ENCTYPE="MIME" TARGET="...">
...
...
</FORM>
上述属性解释如下:
action=url:用来指定处理提交表单的格式。它可以是一个URL地址(提交给程式),或一个电子邮件地址;
method=get | post:指明提交表单的 HTTP 方法,可能的值有 POST 或 GET,在数据传输过程中分别对应了 HTTP 协议中的 GET 和 POST 方法。虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响;其他说明见注;
enctype=cdata:指明用来把表单提交给服务器时(当 method 值为 POST)的互联网媒体形式。这个特性的缺省值是”application/x-www-form-urlencoded”;
TARGET=”…”:指定提交的结果文档显示的位置:
_blank :在一个新的、无名浏览器窗口调入指定的文档;
_self :在指向这个目标的元素的相同的框架中调入文档;
_parent :把文档调入当前框的直接的父 FRAMESET 框中;这个值在当前框没有父框时等价于_self;
_top :把文档调入原来的最顶部的浏览器窗口中(因此取消所有其它框架);这个值等价于当前框没有你框时的_self.
注:
1、关于 GET 与 POST:
GET 是用来从服务器上获得数据,而 POST 是用来向服务器上传递数据;
GET 将表单中的数据按照 variable=value 的形式,添加到 action 所指向的 URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;POST 是将表单中的数据放在 form 的数据体中,按照变量和值相对应的方式,传递到 action 所指向 URL;
GET 是不安全的:因为在传输过程,数据被放在请求的 URL 中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求 URL 记录到日志文件中,然后放在某个地方。这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。POST的所有操作对用户来说都是不可见的;
GET 传输的数据量小,这主要是因为受 URL 长度限制;而 POST 可以传输大量的数据,所以在上传文件只能使用 POST;
GET 限制 Form 表单的数据集的值必须为 ASCII 字符;而 POST 支持整个 ISO10646 字符集;
GET 是 Form 的默认方法;
使用 POST 传输的数据,可以通过设置编码的方式正确转化中文;而 GET 传输的数据却没有变化,在以后的程序中,我们一定要注意这一点。
二、表单域
表单域包含了文本框、多行文本框、密码框、隐藏域、复选框、单选框和下拉选择框等,用于采集用户的输入或选择的数据,下面分别讲述这些表单域的代码格式。
1. 文本框
文本框是一种让访问者自己输入内容的表单对象,通常被用来填写单个字或者简短的回答,如姓名、地址等。代码格式如下:
<input type="text" name="..." size="..." maxlength="..." value="...">