Forms 未识别Lucee表单范围

Forms 未识别Lucee表单范围,forms,lucee,Forms,Lucee,下面的问题是一个难题,我还没有解决,但找到了解决的方法。最后,我将xref2.cfm拆开,一行一行地重新组装起来。我一这么做,表单范围就开始工作了。代码中没有任何更改。所以这仍然是个谜 我有一套4个程序,它们是这样连接在一起的: person1.cfm:这源于来自另一个程序的调用和url参数basetab=Person。我在这里集中讨论变量“fn” 然而,person1.cfm也可以通过cfinclude进一步访问,在这种情况下,我依赖表单作用域将fn传递回person1.cfm &l

下面的问题是一个难题,我还没有解决,但找到了解决的方法。最后,我将xref2.cfm拆开,一行一行地重新组装起来。我一这么做,表单范围就开始工作了。代码中没有任何更改。所以这仍然是个谜

我有一套4个程序,它们是这样连接在一起的:

person1.cfm:这源于来自另一个程序的调用和url参数basetab=Person。我在这里集中讨论变量“fn”


然而,person1.cfm也可以通过cfinclude进一步访问,在这种情况下,我依赖表单作用域将fn传递回person1.cfm

   <cfelseif IsDefined('form.fn')>
   <cfset fn      = form.fn>
   <cfset ln      = form.ln>
   <cfset basetab = form.basetab>
   <cfset perloc  = form.perloc>
   <cfset eof     = form.eof>

 </cfif>

但是,如果此处既没有定义URL范围,也没有定义表单范围,那么应该在包含person1.cfm的程序中设置变量fn,因此此时应该很好地定义它

    ... stuff ...
<form action = "person2.cfm" method = "post" ... other stuff>
 <input type = "text" name = "fn" value = "#fn#">
  .... more stuff....
  ... submit ...
</form>      
。。。东西
.... 更多的东西。。。。
... 提交
person2.cfm:这是流程的下一步

   ... stuff ...
 <cfset fn = form.fn>
 <cfinclude template = "person1.cfm"> 
 <form action = "xref1.cfm" method = "post" ... stuff >
   <cfoutput>
   <input type = "hidden" name = "fn" value = "#fn#"> 
   </cfoutput>
     .... stuff ....
     .....submit ....
 </form>         
。。。东西
.... 东西
提交
xref1.cfm这是下一步

   ... stuff ...
 <cfset fn = form.fn>
 <cfinclude template = "person2.cfm"> 
 <form action = "xref2.cfm" method = "post" ... stuff >
   <cfoutput>
   <input type = "hidden" name = "fn" value = "#fn#"> 
   </cfoutput>
     .... stuff ....
     .....submit ....
 </form>
。。。东西
.... 东西
提交
xref2.cfm最后一步,对累积的条目进行处理

      .... stuff ...
 <cfset fn = form.fn>
 <cfinclude template = "xref1.cfm">
     ... no form ... other stuff ...
。。。。东西
... 没有表格。。。其他东西。。。
问题在于,在xref2.cfm中,变量fn未在表单范围内拾取。检查一下,我发现form.fn在xref2.cfm中根本没有定义。当事情级联回Person1时,fn没有定义,并在输入标记中抛出一个错误


form.fn在person2.cfm和xref1.cfm中定义。但当我们看到xref2.cfm时,它就消失了。我不明白为什么。有人能给我解释一下为什么xref2.cfm中没有该表单作用域吗

我认为这是一个输入错误或什么的。

我认为这是一个输入错误或什么的。

“我一这么做,表单范围就开始工作了”。那么:你是说它正在工作吗?是的,它正在工作。这是令人困惑的,因为什么都没有改变。我唯一的想法是,可能在程序文件的某个地方有一个非打印字符。“我一这么做,表单作用域就开始工作了”。那么:你是说它正在工作吗?是的,它正在工作。这是令人困惑的,因为什么都没有改变。我唯一的想法是程序文件中可能有一个非打印字符。
      .... stuff ...
 <cfset fn = form.fn>
 <cfinclude template = "xref1.cfm">
     ... no form ... other stuff ...