0

这是我在第一页上的代码

<body onload=setTimeout("location.href='http://64.124.162.184/TrenaTest/testformtwo.htm'?UniqueNum=#form.UniqueNum#",3000) bgcolor="#FFFFFF"> 

然后当我转到下一页时,我有

<cfif isdefined("form.UniqueNum") and len(form.UniqueNum)> 
#form.UniqueNum# 
</cfif>

它没有给我任何我刚刚得到的错误NULL

4

4 回答 4

5

请改用 url.uniqueNum。由于您在 url 参数中传递它,因此它不在表单范围内,而是在 url 范围内。

就像 Scott 所说,您需要将变量嵌套在 cfoutput 标记中以便它们显示。为了帮助您进行故障排除,您可以转储范围以查看它们是什么:

<cfdump var="#variables#">
<cfdump var="#form#">
<cfdump var="#url#">
<cfdump var="#session#">
<cfdump var="#application#">
<cfdump var="#server#">
于 2012-07-09T15:36:12.757 回答
4

你有一个 JS 语法错误,在错误的位置打了一个勾。

<body onload=setTimeout("location.href='http://64.124.162.184/TrenaTest/testformtwo.htm'?UniqueNum=#form.UniqueNum#",3000) bgcolor="#FFFFFF"> 

.htm 之后的那个单勾可能是你的罪魁祸首。将它移到最后 - 在 #form.uniqueNum# 之后,它看起来像这样:

<body onload=setTimeout("location.href='http://64.124.162.184/TrenaTest/testformtwo.htm?UniqueNum=#form.UniqueNum#'",3000) bgcolor="#FFFFFF">

然后,正如蒂姆所说,您的变量将在URL范围内 - 而不是在表单范围内(这是 GET 而不是 POST)

于 2012-07-10T13:21:10.267 回答
2

尝试将#form.uniqueNum# 包装在<cfoutput> 标记中,否则它只会发送字符串“#form.uniqueNum#”而不是form.uniqueNum 的值。

可能还想确保该值也事先存在,也许使用 <cfparam>。

另外,什么是“下一页”?我假设您的意思是“触发”超时时会发生什么。该页面具有 .htm 文件扩展名,因此 ColdFusion 不太可能对其进行处理。

于 2012-07-09T16:47:45.900 回答
0

嘿,为什么你的页面是“testformtwo.htm 。它应该是testformtwo。我想cfm 。除非您已将 htm 映射为服务器配置中的 cfm 进行处理。

于 2012-07-10T13:54:05.210 回答