| 操作系统 办公 实用知识 设计 开发 WEB开发 移动开发 数据库 软件工程 网管 安全 管理 信息化 答疑 渠道 |
CGI教程(4)HTML 表单HTML 表单 FORM(表单)标签 表单的标签在HTML文档中指定了一个表单。在一个文档中可以有多个表单,但是一点必须注意表单不能嵌套。 <FORM ACTION="url"> ... </FORM> 具体属性如下: ACTION是将要提交的表单中查询服务器的URL,如果这个属性是空的,那么当前的文档URL将被使用。 METHOD是HTTP/1.0方法,它使用与提交表单给查询数据库。你使用哪个方法取决于你特定的服务器是怎么工作的。这里强烈推荐使用POST。当然你也可以使用GET。POST和GET具体描述如下: GET—这是一个缺省的方法,它将表单内容附加给URL,就好象它们是普通查询。 POST --– 这个方法是将表单内容作为一个数据体而不是URL的一部分传送给服务器的。 ENCTYPE 为表单内容指定编码。这个属性只有在METHOD被设置为POST的时候才应用,并且只有一种可能数值(缺省值为application/x-www-form-urlencoded)。 在表单中,你除了不能表单外,你可以使用INPUT(输入)、SELECT(选择框)以及TEXTAREA(文本域)。 因为表单不会自动从文档的其余部分中区分开来。我们推荐在一个表单之前使用HR(horizontal rule,水平线)标签来区分。 INPUT(输入)标签 输入标签用于在表单中指定一个简单的输入元素。它是一个独立的标签,它旁边没有其它内容并且没有终止标签,它跟IMG的用法是一样的。 输入标签具体的属性为: TYPE(类型)必须为以下的一种: "text"(文本),这个是缺省的。 "password"(密码),看不到键入的字符,只有星号。 "checkbox" (复选框),是一个单一的切换按钮,有开和关两种状态。 "radio" (无线电按钮),单一的切换按钮,有开和关两种状态,可以组成一个组,用于多选一的操作。 "submit" (提交),它是一个按钮,将当前的表单包装到查询URL中并且将它发送到远程的服务器中。 "reset" (复位),也是一个按钮,它可以使表单中的各种输入复位到它的缺省数值。 NAME 是为输入区域的一个符号名字(不是显示的名字---表单中HTML通常使用的)。 VALUE是文本或者密码区域,它可以用于指定缺省区域内容。对于一个复选框或者一个无线电按钮,VALUE指定当它被选择的时候按钮的值。复选框或者无线电按钮的缺省值为”on”。对于"submit" (提交)and "reset"(重置),VALUE可以为按钮用于指定标志。 CHECKED (不需要数值)指定复选框或者无线电按钮被选中。它只适用于复选框或者无线电按钮。 SIZE 使指定输入区域字符串的大小,它只对文本区域和密码输入区域有效。如果这个没给出,缺省的设置为20。多行的文本输入区域可以指定为SIZE=width,height; 比如 SIZE=60,12。这里注意:SIZE属性不应该要来指定多行文本输入区域因为TEXTAREA标签是有效的。 MAXLENGTH 是可以接受的字符串的最大数目,它只适用于文本区域和密码区域。如果它没有设置则缺省的值是无穷大。如果MAXLENGTH大于SIZE则文本区域就可以滚动。
SELECT(选择框)标签 在<FORM> ... </FORM>里面有多少个SELECT标签都是允许的,它可以混合其它HTML元素(包括INPUT和TEXTAREA元素)和文本,但是不能包括FORMS。 . 不象INPUT,SELECT有和关闭标签。在SELECT里面,只有一系列的OPTION标签,每一个OPTION标签之后跟着一些文本,比如 : <SELECT NAME="a-menu"> <OPTION> First option. <OPTION> Second option. </SELECT> SELECT的属性有: NAME是为这个SELECT元素起的名字。它不能为空,必须给出具体值。 SIZE:如果SIZE是1或者如果SIZE的属性没有,SELECT缺省为一个Motif option 菜单。如果SIZE为2或者更大,SELECT将作为一个Motif出现滚动的列表。这个SIZE的数值决定了列表中有几项。 MULTIPLE:如果出现(它没有数值),它指定选择框可以进行多行选择。 OPTION的属性如下: SELECTED 指定缺省状态这个OPTION被选择。如果SELECT允许多行选择,多个OPTION可以指定为SELECTED。 TEXTAREA(文本域)标签 TEXTAREA标签被用来放置一个多行的文本输入区域。它有以下的属性: NAME是文本域的名字。 ROWS 是文本域的行数。 COLS 是文本域的列数(即字符的水平宽度)。 TEXTAREA 域自动有滚动条。不论多少的文本都可以件入到里面。 TEXTAREA元素需要一个打开和关闭的标签即<TEXTAREA>和</TEXTAREA> 。没有缺省内容的TEXTREA如下所示: <TEXTAREA NAME="foo" ROWS=4 COLS=40> 有缺省内容的TEXTREA如下所示: <TEXTAREA NAME="foo" ROWS=4 COLS=40> Default contents go here. </TEXTAREA> 缺省内容必须是ASCII文本。
表单的提交 下面先讲讲Method = GET: 当提交按钮被按下,表单的内容将被汇编到查询URL中,如下所示: action?name=value&name=value&name=value "action"由FORM标签设置的ACTION指定的URL,或者如果没有ACTION属性没有被指定的时候,是当前的文档URL。 在"name" 或者 "value"任何实例中奇怪的字符都将被视为正常的字符,当然包括"=" 和 "&"等等。这里注意,"="是分离名字和数值,而"&"示分离名字/数值对的。 对于文本和密码域,不管用户键入什么都将视为数值。如果用户没有键入任何的内容,这个数值将是空,但是"name="还是会出现。 对于复选框和无线电按钮,VALUE属性指定了复选框或者无线电按钮被选中的时候的值。一个未选中的复选框会在汇编查询字符串的时候被忽视。多个复选框可以有相同的名字(和不同的数值)。多个无线电按钮是用于多选一的情况,它可以有相同的名字但是不同的数值。 再来谈谈Method = POST吧: 表单的内容跟上面讲述的GET方法的编码是一样的,但是不是将它们附加到URL由于表单ACTION属性指定为查询,而是这些内容将作为POST操作的一部分以数据块发送的。这个ACTION属性是数据块要POST的URL。
如果你想编写原型的表单并对它在查询服务器上进行测试,你可以编写如下代码: 对于 METHOD="POST", 使用 ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/post-query" 对于 METHOD="GET", 使用 ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/query"
今日推荐
|
重点推荐
领军企业技术文库
+更多领军技术文库
最新专题
电子杂志订阅
| ||||||||