Username: Password:

CGI教程(4)HTML表单
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  HTML 表单

  FORM(表单)标签

  表单的标签在HTML文档中指定了一个表单。在一个文档中能够有多个表单,但是一点必须注意表单不能嵌套。

  
...


  具体属性如下:

  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(选择框)标签

  在
...
里面有多少个SELECT标签都是允许的,他能够混合其他HTML元素(包括INPUT和TEXTAREA元素)和文本,但是不能包括FORMS。

  . 不象INPUT,SELECT有和关闭标签。在SELECT里面,只有一系列的OPTION标签,每一个OPTION标签之后跟着一些文本,比如 :

  

  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元素需要一个打开和关闭的标签即 。没有缺省内容的TEXTREA如下所示:

  

  缺省内容必须是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"

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅