cfloop通过动态表单字段

时间:2015-01-08 15:38:18

标签: coldfusion cfloop

我有一个允许用户添加共同作者的表单,所以我试图遍历这些字段(如果它们存在)但似乎无法获取值。 “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

1 个答案:

答案 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这样的标签时,养成排除英镑符号的习惯。它使代码更清晰。