我在传递参数时遇到问题:
<cfset result = news.updateNews(form.id, form['title'&form.id])>
我收到最后一个参数的错误,说“元素 title2 在类型为coldfusion.filter.FormScope 的Java 对象中未定义。”。
有小费吗?否则语法应该是什么?
我在传递参数时遇到问题:
<cfset result = news.updateNews(form.id, form['title'&form.id])>
我收到最后一个参数的错误,说“元素 title2 在类型为coldfusion.filter.FormScope 的Java 对象中未定义。”。
有小费吗?否则语法应该是什么?
提供的语法期望:
如果不这样做,则意味着您错误地将 form.id(在此示例中为“2”)与表单字段名称“title”混合,创建了变量“title2”,该变量预计将存在于表单中范围(来自您的表单提交)。
如果您的表单中确实有一个名为“title2”的字段,那么您的代码将起作用。我用这个简单的表单脚本亲自测试了它:
<cfif isDefined('form.submit')>
<!--- here's your syntax --->
<cfoutput>#form['title'&form.id]#</cfoutput>
</cfif>
<form action="form.cfm" method="post">
<input type="hidden" name="id" value="2" />
<input type="text" name="title2" value="" />
<input type="submit" name="submit" />
</form>
您以某种方式想出了一个边缘条件,可能会阻止表单字段 'title2'存在。如果没有进一步的代码或解释,我们真的无能为力。
假设变量存在:
<cfset result = news.updateNews( form.id, evaluate('form.title#form.id#') ) >
是一种方法。
您正在传入名为“title2”的成员,它是“title”和“form”的结果,它是“title”和 form.I'd 的结果。如果您尝试传入表单 ID,只需使用 form.Id 而不将其包装在表单结构指示符中。如果你试图传入一个名为'title'的表单输入,只需传入form.title。如果您尝试同时传递 form.id 和 form.title,请将它们传递到单独的参数中。