如何在ColdFusion中获取变量NAME而不是变量的VALUE?

时间:2012-03-07 15:46:21

标签: variables coldfusion

基本思路是这样的:我有一个动态生成表单字段的表单,所以假设有5个人可以注册(它们都花费10美元)然后将显示这5个evens。像这样:

          <tr>
            <th><label>#SeminarWisTitle#</label></th>
            <td>
            <label><input type="checkbox" name="#SeminarWisID#" value="10.00" onclick="CheckChoice(this);" onfocus="startCalc();" onblur="stopCalc();" class="checkbox" /> Individual Webinar ($119)</label>
            </tr>
          </cfoutput>

现在因为Javascript,所有这些事件的值都是10.00,但表单字段的名称将是唯一的,这就是我实际上想要存储在数据库中的内容。

这是我写的代码:

<cfparam name="seminarBulkSignUp_List" default="">
            <cfoutput query="qSeminarWisTwo">
                <cfparam name="FORM.#SeminarWisID#" default="">

                <cfif #FORM[#SeminarWisID#]# neq "">
                    <cfset seminarBulkSignUp_List = ListAppend(seminarBulkSignUp_List, #FORM[#SeminarWisID#]#)>
                </cfif>
            </cfoutput>

            <cfset FORM.SeminarWisTitle = #seminarBulkSignUp_List#>

因此,使用此代码,我对所有可能的事件运行查询,然后只检查已提交的表单,以查看哪些是“空白”,如未选中,以及我想要选择的那些添加到要存储在数据库中的列表。

现在这可以让我知道哪些事件被选中,哪些没有,但我希望列表编译实际的FORM FIELD名称而不是他们拥有的值。我该怎么做?

1 个答案:

答案 0 :(得分:7)

<cfoutput>
  <cfloop list="#StructKeyList(FORM)#" index="thisField">
    My field name: #thisField#<br/>
    My field value: #FORM[thisField]#<br/>
  </cfloop>
</cfoutput>

根据需要申请。