2012-02-23 65 views
3

我试图通过cfm页面传递唯一的数据库会话ID,但似乎无法得到它的工作。第1页有记录ID,即时试图保存在recordclick()函数的numSession中,并将其传递到下一页,我在查询中使用它,但它不起作用。简单的coldfusion传递记录id到JS函数?

下面有什么即时通讯做一个大致的轮廓:

第1页:

<CFQUERY datasource = "database1" result = "result"> 
insert into user 
set 
blah blah 
</cfquery> 

<html> 
<head> 
<title>page1</title> 
<script type="text/javascript"> 
function recordClick(imageid) 
{ 
     document.getElementById("numSend").value =  document.getElementById("numSend").value + imageid; 
     document.getElementById("numSession").value = result.generated_key; 
} 
</script> 
</head> 

<body> 
<FORM action="page2.cfm" method="post"> 

<img src="1.png" NAME="num1" onclick="recordClick(1)" 
    width="100px" 
    height="100px"> 
<div name="num1" id="num1"></div> 

<input type="hidden" id="numSend" name="numSend" /> 
<input type ="hidden" id = "numSession" name ="numSession" /> 
<input type="submit" value="Done" /> 
</form> 

</body> 
</html> 

-------------------------------------- 

<cfoutput> 
The ID of the row I just inserted was "#numSession#" 
</cfoutput> 


<CFQUERY datasource = "database1"> 
update user 
set 
pin = "#numSend#" 
where id= "#numSession#" 
</cfquery> 

回答

5

的ColdFusion在服务器上执行JavaScript是在客户端执行。你的JS不知道result是什么。您需要使用ColdFusion's ToScript() function

说明

创建的JavaScript或ActionScript表达式指派一个ColdFusion变量到JavaScript或ActionScript变量的值 。 此函数可以将ColdFusion字符串,数字,数组, 结构和查询转换为 定义等效变量和值的JavaScript或ActionScript语法。

下面是一个例子,从文档采取:

<cfset thisString="hello world"> 
<script type="text/javascript" language="JavaScript"> 
    <cfoutput> 
     var #ToScript(thisString, "jsVar")#; 
    </cfoutput> 
</script> 

你的代码(修正):

function recordClick(imageid) 
{ 
    var <cfoutput>#ToScript(result.generated_key, "generated_key")#;</cfoutput> 
    var objNumSend = document.getElementById("numSend"); 
    objNumSend.value = objNumSend.value + imageid; 
    document.getElementById("numSession").value = generated_key; 
} 
+0

谢谢,但看的时候我尝试输出变量在第二页它似乎没有工作。第二页:#numSession# user1228554 2012-02-23 16:21:31

+1

你将不得不比'看起来没有工作'更具体# – 2012-02-23 16:27:14

+0

@ user1228554,我已经更新了JS函数以包含''标签。这是否解决了你的问题? – 2012-02-23 17:25:56