我无法通过论证:
<cfset result = news.updateNews(form.id, form['title'&form.id])>
我收到了最后一个参数的错误,说“在类coldring.filter.FormScope类型的Java对象中未定义元素title2。”。
任何提示?除此之外,语法应该是什么?
答案 0 :(得分:5)
提供的语法需要:
如果不这样做,则意味着您错误地将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”。如果没有进一步的代码或解释,除此之外我们无法提供帮助。
答案 1 :(得分:0)
假设存在变量:
<cfset result = news.updateNews( form.id, evaluate('form.title#form.id#') ) >
是一种方法。
答案 2 :(得分:0)
你正在传递名为“title2”的成员,而不是'和' stuct“form”,这是'title'&amp;的结果。 form.I'd。如果您尝试传递表单ID,只需使用form.Id而不将其包装在表单结构指示符中。如果您尝试传入名为“title”的表单输入,只需传入form.title。如果您尝试传递form.id和form.title,请将它们传递给不同的参数。