ASP中使用Form和QueryString集合(4)

时间:2007-09-14 10:43:00 

 d) HTML提交和图像控件
  
    复选框和单选框是布尔型控件的例子,选中或选择返回的为“on”,不像文本框和大多数其他的HTML控件,浏览器不包含没有选中或没有选择的控件的值。
  
    还有另外一种常用的布尔型控件,称为HTML按钮。如<INPUT TYPE=”SUBMIT”>、<INPUT TYPE=”RESET”>、<INPUT TYPE=”IMAGE”>、<INPUT TYPE=”BUTTON”>和<BUTTON>...</BUTTON>类型。
  
    BUTTON类型的控件不返回任何值,因其对窗体没有直接的影响。即使使用用来调用窗体的Submit方法,浏览器在任何请求中将不包含BUTTON类型控件的值。同样,一个<INPUT TYPE=”RESET”>按钮的值也决不会发往服务器。
  
    然而,输入按钮控件SUBMIT和IMAGE类型实际提交窗体给服务器,其VALUE属性包含窗体的其他控件的值(只要在HTML定义中包含一个NAME属性)。例如,这个窗体可能是向导类型Web应用程序的一部分,允许用户一步步进行或取消进程:


 <FORM ACTION=”show_request.asp” METHOD=”POST”> 
  <INPUT TYPE=”SUBMIT” NAME=”btnSubmit” VALUE=”Next”> 
  <INPUT TYPE=”SUBMIT” NAME=”btnSubmit” VALUE=”Previous”> 
  <INPUT TYPE=”SUBIMT” NAME=”btnSubmit” VALUE=”Cancel”> 
  </FORM> 


在一个窗体中,可以包括多个SUBMIT按钮。在这种情况下,应该给每一个按钮唯一的VALUE属性,如上所示。当一个窗体被提交时,遍历Request.Form集合的值,将产生一个值,这个值依赖于按下哪个按钮用于提交这个窗体。假如用户按下的“Previous”按钮,将得到:
  
  btnSubmit = Previous
  
    因此,可查询Request.Form集合来决定下一个显示的页面,例如:


Select Case Request.Form(“btnSubmit”) 
  Case “Next” 
  Response.Redirect “page_3.asp” 
  Case “Previous” 
  Response.Redirect “page_1.asp” 
  Case “Cancel” 
  Response.Redirect “main_menu.asp” 
  End Select 



 同时,也可根据需要对每个按钮使用不同的NAME属性。且选择其值包含在Form集合中的控件名称。在控件没有一个完整的标记而是随后跟着较长的文本标签的情况下,极为有用,如下图所示。
  
    此屏幕上的界面由下列代码产生:


<FORM ACTION=”show_request.asp” METHOD=”POST”> 
  <B>What do you want to do now?</B><P> 
  <INPUT TYPE=”SUBMIT” NAME=”btnNext” VALUE= ”> Go on the next page<P> 
  <INPUT TYPE=”SUBMIT” NAME=”btnPrevious” Value=” ”> GO back to the previous page<P> 
  <INPUT TYPE=”SUBMIT” NAME=”btnCancel” VALUE=” ”> Cancel and go back to the main menu page<P> 
  </FORM> 


 在ASP页面中,接收到数据后,可以检查按扭名称提供的值来判断按下的是哪个按钮。


If Len(Request.Form(“btnNext”)) Then Response.Redirect “page_3.asp” 
  If Len(Request.Form(“btnPrevious”)) Then Response.Redirect “page_1.asp” 
  If Len(Request.Form(“btnCancel”)) Then Response.Redirect “main_menu.asp” 


这个工作是查询一个键上的ASP集合,如果不存在则返回一个空的字符串。换句话说,如果第二个按钮(previous页)按下,则Request.Form(“btnNext”)的值是一个空字符串,则其长度为零而不至于产生一个错误。当第二个按钮按下时,则在Form集合中这个条目的值Request.Form(“btnPrevious”),将是“ ”其长度大于零。

标签:form,QueryString,Request
0
投稿

猜你喜欢

  • 基于PHP做个图片防盗链

    2023-05-25 00:27:30
  • asp函数收藏

    2009-04-21 13:10:00
  • 将滚动条(scrollbar)保持在最底部的方法

    2008-02-21 10:05:00
  • html注释所引起的一系列问题

    2008-11-04 13:23:00
  • IE中伪类:hover的使用及BUG

    2007-05-11 17:04:00
  • 说说回车键触发表单提交的问题

    2009-02-03 13:25:00
  • 空间session失效过快的解决办法

    2010-09-15 10:01:00
  • 考虑SQL Server安全时所应注意的几个方面

    2009-01-04 13:57:00
  • mysql从执行.sql文件时处理换行的问题

    2009-09-06 11:46:00
  • 推荐一篇不错的新手asp编程的基本法则

    2011-04-15 11:08:00
  • 为导入文件加上时间戳标记的两种方法

    2009-01-07 14:14:00
  • 《色彩解答》系列之三 色彩对比

    2008-02-17 14:40:00
  • 通过XSL转换XML文件步骤

    2008-01-27 16:03:00
  • DW实现滚动新闻

    2007-12-03 11:35:00
  • 成功实现ajax,xmlhttp跨域访问(php,asp,jsp)

    2008-02-13 18:40:00
  • window.location.hash的应用及浏览器的支持测试

    2009-07-07 11:52:00
  • asp.net性能的技巧

    2007-10-07 21:55:00
  • ASP Application 对象用户手册

    2008-10-23 13:59:00
  • Microsoft Access项目不能压缩的原因

    2008-11-28 14:48:00
  • MYSQL教程:如何选择正确的数据列类型

    2009-02-27 16:05:00
  • asp之家 网络编程 m.aspxhome.com