<<<返回

FORM的域对应多值的处理
有时，Form的某个域对应多个值，例如，对于checkbox类型来说，实现多项选择是最拿手的，看下面这个HTML Form。 <FORM METHOD=“POST” ACTION=“regresults.asp”> 请问您是怎样了解到xxx公司的？ <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键就一次对应了多个值。
你怎样才能把它们都接受出来呢，这时你可以利用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等）