我有一个允许用户添加共同作者的表单,所以我试图遍历这些字段(如果它们存在)但似乎无法获取值。 “coauthorNo”是隐藏的输入字段,仅当用户添加1个或多个共同作者时才存在。我正在我的页面中使用cfoutput进行测试,看看我是否可以获得值,但到目前为止还没有运气。这是在Coldfusion 10服务器上运行的。
<cfif IsDefined("FORM.coauthorNo")>
<cfset coAuthCount = listLen("#FORM.coauthorNo#", ",")>
<cfloop from="0" to="#coAuthCount#" index="i">
<cfset CoAuthF = "#FORM['CoAuthFirstName'&i]#">
<cfset CoAuthL = "#FORM['CoAuthLastName'&i]#">
<cfoutput>CoAuth's: #CoAuthF#, #CoAuthL#,</cfoutput>
</cfloop>
</cfif>
编辑:将cfloop从value更改为1并修复它。我动态创建的表单字段从1开始对比0.即CoAuthFirstName1
答案 0 :(得分:2)
仅供参考,我们不需要这一切。您可以轻松地遍历列表。
<Cfset lCount = 0/>
<cfif IsDefined("FORM.coauthorNo")>
<cfloop list="#form.coauthorNo#" index="i">
<cfset CoAuthF = FORM['CoAuthFirstName' & lCount]>
<cfset CoAuthL = FORM['CoAuthLastName' & lCount]>
<cfoutput>CoAuth's: #CoAuthF#, #CoAuthL#,</cfoutput>
<Cfset lCount++/>
</cfloop>
</cfif>
当你没有将东西输出到页面或将属性传递给像cfloop这样的标签时,养成排除英镑符号的习惯。它使代码更清晰。