2

我有一个允许用户添加共同作者的表单,所以我试图遍历这些字段(如果它们存在),但似乎无法获取这些值。“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 从值更改为 1 并修复它。我动态创建的表单字段从 1 对 0 开始。即 CoAuthFirstName1

4

1 回答 1

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 之类的标签时,请养成排除井号的习惯。它使代码更清晰。

于 2015-01-08T16:58:42.347 回答