Javascript 简单的coldfusion将记录id传递给JS函数?

Javascript 简单的coldfusion将记录id传递给JS函数?,javascript,coldfusion,cfml,Javascript,Coldfusion,Cfml,我试图通过cfm页面传递唯一的数据库会话id,但似乎无法使其工作。第1页有记录id,我试图将它保存在recordclick()函数的numSession中,并将其传递到下一页,在那里我在查询中使用它,但它不起作用 以下是我所做工作的大致轮廓: 第1页: <CFQUERY datasource = "database1" result = "result"> insert into user set blah blah </cfquery> <html> &l

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

以下是我所做工作的大致轮廓:

第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>

插入到用户
设置
废话
第1页
函数记录单击(imageid)
{
document.getElementById(“numSend”).value=document.getElementById(“numSend”).value+imageid;
document.getElementById(“numSession”).value=result.generated\u key;
}
--------------------------------------
我刚才插入的行的ID是“#numSession”
更新用户
设置
pin=“#numSend#”
其中id=“#numSession#”

ColdFusion在服务器上执行,JavaScript在客户端执行。你的JS不知道结果是什么

你需要使用

说明

创建分配值的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>

var#ToScript(这个字符串,“jsVar”)#;
您的代码(已更正):

函数记录单击(imageid)
{
var#ToScript(result.generated_key,“generated_key”)#;
var objNumSend=document.getElementById(“numSend”);
objNumSend.value=objNumSend.value+imageid;
document.getElementById(“numSession”).value=generated\u key;
}

谢谢,但是当我在第二页尝试输出变量时,它似乎不起作用。第二页:#numSession#你必须比
似乎不起作用更具体
@user1228554,我已经更新了JS函数以包含
标记。这解决了您的问题吗?它是什么,是什么,在第二页上,我试图将numSession传递给它,它似乎没有变量中的值(记录id)。所以它甚至没有打印我试图传递的会话id…第2页代码:我刚才插入的行的id是“#numSession#”update user set pin=“#numSend#”,其中id=“#numSession#”@user1228554,您正在使用表单post,您是否使用表单范围限定输出?您的代码应该如下所示:
…其中id=“#FORM.numSession”
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;
}