【ColdFusion】利用Form传递动态变量技巧
2010-05-10 13:18 Peter Jin 阅读(866) 评论(0) 编辑 收藏 举报在ColdFusion中,通常,使用Form接收客户的输入,然后在Action属性所指的文件中利用Form变量得到客户输入的数据并作处理。你也可以利用隐藏字段从一个网页向另一个网页传递参数。
例如,下面的Form中包含一个名为Customer_ID的隐藏字段,被传递到文件example.cfm中。
<FORM ACTION="example.cfm" METHOD="Post">
<INPUT TYPE="Hidden"
NAME="Customer_ID" VALUE="24">
<INPUT TYPE="Submit" VALUE="Enter">
</FORM>
在文件example.cfm中,你可以用Form.Customer_ID的形式引用该变量。
也许大家会说这引用该变量的方法很正常啊,没有什么特别的。好,没错,的确是这样,因为Form表单中的INPUT数据域控件的ID号是固定的,是我们事先已经知道的。可是当Form表单中的INPUT数据域控件的ID号是动态的,那该怎样取值呢?
在做项目的过程中,我们常常会碰到这样的情况。常见的比如:添加文件附件,并且可以添加多件,这时,我们常常会采用JavaScript技术,添加多个上传文件的控件:
<input type="file" id="fileTemp1">
<input type="file" id="fileTemp2">
<input type="file" id="fileTemp3">
……
此时,当我们提交Form表单时,添加文件的个数就是动态的,这时你如何用Form.fileTemp1的形式引用变量呢?
其实要想取得Form表单提交过来的值,还有这样一种方法,即Form["Customer_ID"]。那现在要想取得动态的数据域中的数据,就很简单了:
<cfset index = 1>
<cfset filesrc = Form["fileTemp"&#index#]>
(注意:当生成控件时,控件ID号一定要有规律,要不然就没办法了。)
最近在做一个ColdFusion的项目,发现这方面的资料是在太少了,这个问题当初还折腾了一些时间,特记录下来,与大家一起分享。