FORM的域对应多值的处理

发表于:2007-06-30来源:作者:点击数: 标签:
FORM的域对应多值的处理 有时,Form的某个域对应多个值,例如,对于checkbox类型来说,实现多项选择是最拿手的,看下面这个HTML Form。 FORM METHOD=“POST” ACTION=“regresults.asp” 请问您是怎样了解到迈至科公司的? brinput name=“HowHear” Type=ch

FORM的域对应多值的处理

有时,Form的某个域对应多个值,例如,对于checkbox类型来说,实现多项选择是最拿手的,看下面这个HTML Form。

<FORM METHOD=“POST” ACTION=“regresults.asp”>

请问您是怎样了解到迈至科公司的?

<br><input name=“HowHear” Type=checkbox Value=“Newspaper”>

新闻报纸以及广告

<br><input name=“HowHear” Type=checkbox Value=“SearchEngine”>

站点搜索引擎

<br><input name=“HowHear” Type=checkbox Value=“Friend”>

朋友介绍

<br><input name=“HowHear” Type=checkbox Value=“Stumble”>

网上冲浪时偶然进入

<p><input type=submit value=“ 确认进行了上述选择 ”>

</form>

这个form就可以用来考察用户了解本公司的途径,这样就可以认识到各种媒体的不同效应。不过很可能用户有多种途径了解该公司,那么就允许用户在多个checkbox中划上对勾(如果单选,应当用radio类型),这时,HowHear键就一次对应了多个值(见图15.2)。

图15.2 多重选择的表单例子

 

 

 

 

 

 

 

 

 

 

 

你怎样才能把它们都接受出来呢,这时你可以利用form集合的一个附加参数。见下面这个例子:(请注意这个程序名称必须是regresults.asp对应于上一个程序的Form Action=的文件名)

<HTML>

<HEAD><TITLE>你的响应</TITLE></HEAD>

<BODY>

根据你的回应,我们知道你了解我们公司有

<%=Request.Form(“HowHear”).Count%>种途径。

<p>你了解我们站点是依据:

<%

FOR EACH way in Request.Form(“HowHear”)

Response.Write(“<p>“&way)

NEXT

%>

</BODY>

</HTML>

在这个脚本中,Count属性用来检验复选框被选择的数目,在这里面与前面不同的是,count只是计算复选框中的选择数目而不是所有的form域提交的数目。那么这里面调用是:Request.Form(“HowHear”).count,带着参数”HowHear”。

由于使用了FOR EACH循环,那么用户的所有选择都会显示出来(显示的是Value的值,既:Newspaper、SearchEngine等)

原文转自:http://www.ltesting.net