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

标签 javascript coldfusion cfml

我试图通过 cfm 页面传递唯一的数据库 session 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>

最佳答案

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

您需要使用 ColdFusion's ToScript() function .

Description

Creates a JavaScript or ActionScript expression that assigns the value of a ColdFusion variable to a JavaScript or ActionScript variable. This function can convert ColdFusion strings, numbers, arrays, structures, and queries to JavaScript or ActionScript syntax that defines equivalent variables and values.

这是一个例子,取自文档:

<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;
}

关于javascript - 简单的 coldfusion 将记录 id 传递给 JS 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9415651/

相关文章:

javascript - 悬停父子动态分配

coldfusion - 在 ColdFusion 中,变量以什么顺序解析?

coldfusion - 使用 CfHttp 在 Fetch POST 和 ColdFusion 函数之间进行通信

javascript - 在 JavaScript 中使用 JSON 文件

javascript - 检查类按钮,如果它有某个类,则创建一个 'done' div

coldfusion - 你把cfimport放在哪里

java - 如何在初始化时在类的构造函数调用中容纳一个 FileInputStream 对象为 InputStream 对象?

coldfusion - cflock 不会为在同一浏览器中调用的同一 URL 抛出超时

coldfusion - 组件上 accessors=true 的意外行为

javascript - 如何用数组的值替换字符串中的问号?