我的表格中有许多格式为
的字段在表单操作页面上,我希望能够使用循环并能够使用循环索引来连接字符串前缀,如<cfset newField = "field-" & #index#>
,然后使用{{1}访问上一页的表单域。
我一直在玩#Variables.newField#
功能,但没有运气。我不太多使用ColdFusion,所以我可能只是稍微偏离语法。
我如何使用它的一个例子是:
Evaluate()
答案 0 :(得分:8)
对于这种情况,您根本不必使用评估。只需按键名访问变量struct。
<cfset newField = "form.field-" & index>
<cfset value = variables[newField]>
或只是
<cfset value = variables["form.field-#index#"]>
或者如果您不想使用中间变量
<cfoutput>#variables["form.field-" & index]#</cfoutput>
答案 1 :(得分:4)
无需将其设置为variables
范围。在循环中,您可以直接从form
范围使用关联数组表示法访问表单字段值,如下所示:
<input type="hidden" name="field-<cfoutput>#index#</cfoutput>"
value="<cfoutput>#form['field-' & index]#</cfoutput>">
为了更加安全,在尝试显示之前检查每个表单字段是否明智是明智的:
<cfif structKeyExists(form, 'field-' & index)>
<!--- display field --->
</cfif>