use*_*554 4 javascript coldfusion cfml
我试图通过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>
Run Code Online (Sandbox Code Playgroud)
ColdFusion在服务器上执行,JavaScript在客户端上执行.你的JS不知道是什么result.
您需要使用ColdFusion的ToScript()功能.
描述
创建一个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>
Run Code Online (Sandbox Code Playgroud)
你的代码(更正):
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |