📄 0010.htm
字号:
文件的表格。 </p>
<p ALIGN="JUSTIFY">.asp 文件可以创建一个将其信息邮送给另一个 .asp
文件的表格。 </p>
<p ALIGN="JUSTIFY">.asp
文件可以创建一个将其信息邮送给自身的表格,即包含该表格的文件。
</p>
<p ALIGN="JUSTIFY">前两个方法的操作方式相同,当表格与网关程序交互时,除
ASP 之外,可以包含读取和响应用户选择的命令。</p>
<p ALIGN="JUSTIFY">创建一个包含表格定义且传送信息给自身的 .asp
文件较复杂,但却是有很强功能的处理表格的方法。这一过程在
验证表格输入 中演示。</p>
<p ALIGN="JUSTIFY">获得表格输入</p>
<p ALIGN="JUSTIFY">ASP Request
对象提供了两种集合,在很大程度上简化了检索附加在 URL
请求上的表格信息的任务。</p>
<p ALIGN="JUSTIFY">QueryString 集合</p>
<p ALIGN="JUSTIFY">QueryString 集合获取作为跟在请求的 URL
的问号后面的文本传递给 Web 服务器的值。通过使用 HTTP GET
方法或手工将表格的值添加到 URL,表格的值可以被附加在请求的 URL
之后。</p>
<p ALIGN="JUSTIFY">例如,如果先前的表格示例使用 GET 方法 (ACTION =
"GET") 且用户键入 Jeff、Smith 和 30,那么下面的 URL
请求将被发送给服务器:</p>
<p ALIGN="JUSTIFY">http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=new</p>
<p ALIGN="JUSTIFY">Myfile.asp 包含下面的表格处理脚本:</p>
<p ALIGN="JUSTIFY">Hello, <%= Request.QueryString("firstname") %> <%=
Request.QueryString("lastname") %>. </p>
<p ALIGN="JUSTIFY">You are <%= Request.QueryString("age") %> years old.</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">If Request.QueryString("userstatus") = "new user"
then </p>
<p ALIGN="JUSTIFY">Response.Write"This is your first visit to this Web site!"</p>
<p ALIGN="JUSTIFY">End if </p>
<p ALIGN="JUSTIFY">%> </p>
<p ALIGN="JUSTIFY">在这种情况下,Web 服务器将返回下面的文本给用户的
Web 浏览器:</p>
<p ALIGN="JUSTIFY">Hello, Jeff Smith. You are 30 years old. This is your first visit to
this Web site!</p>
<p ALIGN="JUSTIFY">QueryString
集合有一个可选参数,可用来访问显示在请求正文中的多个值中的一个。也可以使用
Count 属性计算一个特殊类型的值的出现次数。</p>
<p ALIGN="JUSTIFY">例如,表格包含一个多项目的列表框可以提交下面的请求:</p>
<p ALIGN="JUSTIFY">http://list.asp?food=apples&food=olives&food=bread</p>
<p ALIGN="JUSTIFY">您也可以使用下面的命令去对多个值计数:</p>
<p ALIGN="JUSTIFY">Request.QueryString("food").Count</p>
<p ALIGN="JUSTIFY">如果想显示多个值的类型,List.asp
应包含下面的脚本;</p>
<p ALIGN="JUSTIFY"><%Total = Request.QueryString("food").Count%></p>
<p ALIGN="JUSTIFY"><%For i = 1 to Total%></p>
<p ALIGN="JUSTIFY"><%= Request.QueryString("food")(i) %> <BR></p>
<p ALIGN="JUSTIFY"><%Next%></p>
<p ALIGN="JUSTIFY">上述脚本将显示: </p>
<p ALIGN="JUSTIFY">apples</p>
<p ALIGN="JUSTIFY">olives</p>
<p ALIGN="JUSTIFY">bread</p>
<p ALIGN="JUSTIFY">Form 集合</p>
<p ALIGN="JUSTIFY">当使用 HTTP GET 方法去向 Web
服务器传递长而复杂的表格值时,将可能丢失信息。大多数的 Web
服务器倾向于严格控制 URL 查询字符串的长度,以便用 GET
方法传送的冗长的表格值被截断。如果您需要从表格发送大量信息到
Web 服务器,就必须使用 HTTP POST 方法。此法用于在 HTTP
请求正文中发送表格数据,而且发送的字符的个数可以无限多。也可以使用
ASP Request 对象的 Form 集合检索用 POST 方法发送的值。</p>
<p ALIGN="JUSTIFY">Form 集合与 QueryString
集合存储数值的方式相同。例如,如果用户用一长串名称填充表格,您就可以用下面的脚本检索这些名称:</p>
<p ALIGN="JUSTIFY"><% For i = 1 to Request.Form.Count %></p>
<p ALIGN="JUSTIFY"><% =Request.Form("names")(i) %></p>
<p ALIGN="JUSTIFY"><% Next %></p>
<p ALIGN="JUSTIFY">验证表格输入</p>
<p ALIGN="JUSTIFY">一个好的表格处理脚本在处理数据前,应先验证输入表格的信息是否有效。验证脚本可以检验用户输入到表格的信息类型是否正确。例如,如果您的
Web
站点包含一个表格,该表格允许用户计算财务信息,那么在处理结果之前,需要验证用户确实输入了数值信息而不是文本。</p>
<p ALIGN="JUSTIFY">一个非常方便的验证表格输入的方法是创建一个向自身传递信息的表格。在这种情况下,.asp
文件包含可获取信息的表格。例如,下面的脚本通过向自身传递信息来验证用户是否在
"age" 表格字段中输入了数值:</p>
<p ALIGN="JUSTIFY"><% If Isnumeric(Request.QueryString("Age")) then %> </p>
<p ALIGN="JUSTIFY"><p>Hello, your age is
<%=Request.QueryString("age")%></p>
<p ALIGN="JUSTIFY"><%Else %></p>
<p ALIGN="JUSTIFY"><p>Please enter a numerical age.</p>
<p ALIGN="JUSTIFY"><%End If %> </p>
<p ALIGN="JUSTIFY"><FORM METHOD= "POST" ACTION="verify.asp" > </p>
<p ALIGN="JUSTIFY">Name: <INPUT TYPE="text" NAME="Name" ></p>
<p ALIGN="JUSTIFY">Age: <INPUT TYPE="text" NAME="Age" ></p>
<p ALIGN="JUSTIFY"><INPUT TYPE="submit" VALUE="Enter"> </p>
<p ALIGN="JUSTIFY"></FORM></p>
<p ALIGN="JUSTIFY">在这个例子中,脚本也在包含表格的同一 Verify.asp
文件中。表格通过在 ACTION 属性中指定 Verify.asp 向自身传送信息。</p>
<p ALIGN="JUSTIFY">您也可以创建客户端脚本来检验用户是否输入了有效的信息。验证用户在
Web
浏览器上的输入除了更迅速地向用户提示表格项错误外,还可以减少
Web 服务器的网络流量。下面的脚本运行在用户的 Web
浏览器上,在将信息提交到 Web 服务器之前,验证用户信息。</p>
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE="VBScript"></p>
<p ALIGN="JUSTIFY"><!--</p>
<p ALIGN="JUSTIFY">Sub btnEnter_OnClick</p>
<p ALIGN="JUSTIFY">Dim TheForm</p>
<p ALIGN="JUSTIFY">Set TheForm = Document.MyForm</p>
<p ALIGN="JUSTIFY">If IsNumeric(TheForm.Age.Value) Then </p>
<p ALIGN="JUSTIFY">TheForm.submit </p>
<p ALIGN="JUSTIFY">Else</p>
<p ALIGN="JUSTIFY">Msgbox "Please enter a numerical age." </p>
<p ALIGN="JUSTIFY">End if</p>
<p ALIGN="JUSTIFY">End Sub</p>
<p ALIGN="JUSTIFY">//--></p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"><FORM METHOD= "POST" NAME= MyForm
ACTION="myfile.asp" > </p>
<p ALIGN="JUSTIFY">Name: <INPUT TYPE="text" NAME="Name" ></p>
<p ALIGN="JUSTIFY">Age: <INPUT TYPE="text" NAME="Age" ></p>
<p ALIGN="JUSTIFY"><INPUT TYPE="button" NAME="btnEnter"
VALUE="Enter"> </p>
<p ALIGN="JUSTIFY"></FORM></p>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -