检查是否存在动态字段:元素[x]在类型为coldfusion.filter.FormScope的Java对象中未定义

检查是否存在动态字段:元素[x]在类型为coldfusion.filter.FormScope的Java对象中未定义,coldfusion,Coldfusion,我试图检查动态表单字段的值是否为空,但在每一点上都会出现错误。我想做的是:如果表单值为空,则不执行任何操作并跳过它。如果不是空的,请继续填写其他详细信息 以下是我的代码: <cfset filename = "form.oldFile_" & #k# & "_" & #ii#> <cfset fname = isDefined(form["form.oldFile_#k#_#ii#"])> <cfdump var="#fname#" abor

我试图检查动态表单字段的值是否为空,但在每一点上都会出现错误。我想做的是:如果表单值为空,则不执行任何操作并跳过它。如果不是空的,请继续填写其他详细信息

以下是我的代码:

<cfset filename = "form.oldFile_" & #k# & "_" & #ii#>
<cfset fname = isDefined(form["form.oldFile_#k#_#ii#"])>
<cfdump var="#fname#" abort>

尝试使用structKeyExists

<cfif structKeyExists(form, "oldFile_#k#_#ii#")>
    <cfset fname = form["oldFile_#k#_#ii#"]>
</cfif>


尝试使用structKeyExists

<cfif structKeyExists(form, "oldFile_#k#_#ii#")>
    <cfset fname = form["oldFile_#k#_#ii#"]>
</cfif>



是表单名称
表单.oldFile\u 1\u 1
?还是仅仅是
旧文件\u 1\u 1
?我更正了它并再次测试了它,我删除了额外的
表单
,仍然是相同的错误,所以。。。字段的实际名称是什么?:-)正如Matt提到的,您的代码似乎有许多“form.”前缀。i、 e.它是
form[“someFieldName”]
,而不是
form[“form.someFieldName”]
实际名称是:
oldFile\u 1\u 1
-现在
\u 1\u 1
是增量的,因为有许多字段(编辑),就像Matt提到的,您的代码有太多的“form.”前缀。i、 e.语法是
form[“someFieldName”]
-而不是
form[“form.someFieldName”]
。此外,IsDefined()不允许使用方括号。改为使用
structKeyExists(表单,“someFieldName”和dynamicPart)
是表单名
FORM.oldFile\u 1\u 1
?还是仅仅是
旧文件\u 1\u 1
?我更正了它并再次测试了它,我删除了额外的
表单
,仍然是相同的错误,所以。。。字段的实际名称是什么?:-)正如Matt提到的,您的代码似乎有许多“form.”前缀。i、 e.它是
form[“someFieldName”]
,而不是
form[“form.someFieldName”]
实际名称是:
oldFile\u 1\u 1
-现在
\u 1\u 1
是增量的,因为有许多字段(编辑),就像Matt提到的,您的代码有太多的“form.”前缀。i、 e.语法是
form[“someFieldName”]
-而不是
form[“form.someFieldName”]
。此外,IsDefined()不允许使用方括号。使用
structKeyExists(表单,“someFieldName”和dynamicPart)
<cfif structKeyExists(form, "oldFile_#k#_#ii#")>
    <cfset fname = form["oldFile_" & k & "_" & ii]>
</cfif>