欢迎光临
我们一直在努力

CGI教程(4)HTML 表单

建站超值云服务器,限时71元/月

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"
   

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » CGI教程(4)HTML 表单
分享到: 更多 (0)