Ichinabyte.cominternet,coni
实际样例7
样例代码:
mySelt”size=“3nmultiple>
”selected>yesky.comd2>chinabyte.com

>internet,com
按钮


表单按钮控制表单的运作。
提交按钮
提交按钮用来将输人的信息提交到服务器。
代码格式:<inputtype=“submit”name=“…”value=“…”>属性解释:
type=“submit”定义提交按钮。name属性定义提交按钮的名称。value属性定义提交按钮的显示文字。
样例8如实际所示。
实际样例8
样例代码:<inputtype=“submit”name=“mySent”value=“发送12.复位按钮复位按钮用来重置表单。
代码格式:<inputtype=”reset“name=”value:“…”>属性解释:
type=“reset”定义复位按钮。
name属性定义复位按钮的名称。
value属性定义复位按钮的显示文字。
样例9如实际所示。

样例代码:<inputtype=“reset”name:“myCancle”value:“取消实际样例93.一般按钮一般按钮用来控制其他定义了处理脚本的处理工作。
代码格式:<inputtype=”button“name=”…“value=”…“onClick=”…属性解释:
type=“button”定义一般按钮。
name属性定义一般按钮的名称。
value属性定义一般按钮的显示文字。
onClick属性,也可以是其他事件,通过指定脚本函数来定义一般按钮的行为。样例10如实际所示。
实际样例10
样例代码:
其他表单域
隐藏域
隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息以设置时定义的名称和值发送到服务器上。
代码格式:<inputtype=“hidden”name=“value=”…“>属性解释:
type=”hidden“定义隐藏域。
name属性定义隐藏域的名称,要保证数据的准确采集,必须定义一个独一无二的名称。value属性定义隐藏域的值。
例如:<inputtype=”hidden“name=”ExPws“value=”dd“>2.文件上传框有时候,需要用户上传自己的文件,文件上传框看上去和其他文本域差不多,只是它包含了一个浏览按钮。访问者可以通过输人需要上传的文件的路径或者点击浏览按钮选择需要上传的文件。
注意:在使用文件域以前,请先确定服务器是否允许匿名上传文件。表单标签中必须设置11enctype=”multipart/form-data“来确保文件被正确编码;另外,表单的传送方式必须设置成post%代码格式:<inputtype=”file“name=”size:115“maxlength=”100“>属性解释:
type=”file“定义文件上传框。
name属性定义文件上传框的名称,要保证数据的准确采集,必须定义一个独一无二的名称。
size属性定义文件上传框的宽度,单位是单个字符宽度。maxlength属性定义最多输人的字符数。
样例:
样例代码:
表单的提交
既然表单用来采集用户输人的数据,那么就应该保证用户的数据被准确地提交到预定的地点,也就是说,在提交表单的时候,应该对用户的数据进行检验,一来可以避免用户误输数据,二来可以避免用户输人非法的,或者不合格的数据;检验合格以后,还要保证用户的数据被提交到特定的程序。
数据的检验
数据的检验通常有两种程序:客户端检验和服务器端检验。客户端检验比较快,服务器端检验相对比较慢,为了确保安全,二者通常同时采用,这样就可以避免用户刻意破坏。
不管采用什么方式,数据检验的原理都是一样的,一旦用户输人的数据不符合规定就报错,要求用户重新输人,客户端检验常使用JavaScrip脚本,服务器端检验视系统而定。本书不对数据检验的具体程序设计进行探讨,仅列举几个例子来说明。
样例11:必填项,以及简单的数据类型检验。
带”*“的为必须输人。
姓名:I*
实际样例11
分析:
本例给表单添加了onSubmit事件,通过”onSubmit:“returnCheckDate()”“指定提交前必须通过函数CheckDate()来检验,如果不合格,返回输人数据。
数据检验的函数如下:

functionCheckDate())
//取得输入的数据
userName=document.RedForm.userName.value;userEmail=document.RedForm.userEmail.value;//如果没有输人姓名if(userName==”n)jalertC*请输入姓名n);document.RedForm.userName.focus();returnfalse;|elsej//如果没有输人E-mail,或者E-mail地址错误(不含@)if((userEmail==“n)I丨(userEmail.indexOf(‘@n)==-1)))alert(”请重新输人E-mail地址“);document.RedForm.userEmail.focus();returnfalse;}elsereturntrue;1(
表单的分支提交
有的时候,表单需要根据用户的选择被提交到不同的程序。这时应该怎么做呢?
应通过脚本来检测用户的选择分支,从而向不同的程序提交表单。
样例12:分支提交(图]4-32)。
用户名:I密码:[——
C公司用户广个人用户觀j
实际样例12
分析:这里首先用到的是