向CFC发送参数时出现问题

时间:2012-07-23 17:12:20

标签: coldfusion cfc

我无法通过论证:

<cfset result = news.updateNews(form.id, form['title'&form.id])>

我收到了最后一个参数的错误,说“在类coldring.filter.FormScope类型的Java对象中未定义元素title2。”。

任何提示?除此之外,语法应该是什么?

3 个答案:

答案 0 :(得分:5)

提供的语法需要:

  1. 您有一个HTML表单,
  2. 该表单中有一个名为'title2'的字段
  3. 如果不这样做,则意味着您错误地将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,请将它们传递给不同的参数。