我试图将一个未知变量从一个HTML页面传递到另一个HTML页面

时间:2012-07-09 15:26:08

标签: html coldfusion

这是我在第一页上的代码

<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 个答案:

答案 0 :(得分:5)

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

和Scott说的一样,您需要将变量嵌套在cfoutput标记中以供显示。为了帮助您排除故障,您可以转储范围以查看它们是什么:

<cfdump var="#variables#">
<cfdump var="#form#">
<cfdump var="#url#">
<cfdump var="#session#">
<cfdump var="#application#">
<cfdump var="#server#">

答案 1 :(得分: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"&GT;

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

答案 2 :(得分:2)

尝试在&lt; cfoutput&gt;中包装#form.uniqueNum#标签其他明智的只是发送字符串'#form.uniqueNum#'而不是form.uniqueNum的值。

可能希望确保该值存在,也可以使用&lt; cfparam&gt;。

另外,“下一页”是什么?我假设你的意思是当超时被“解雇”时会发生什么。该页面具有.htm文件扩展名,因此不太可能由ColdFusion处理。

答案 3 :(得分:0)

嘿,为什么你的页面是&#34; testformtwo。 htm &#34;。它应该是testformtwo。 cfm 我想。除非您已在服务器配置中将htm映射为cfm。