Im trying to pass the unique database session id through cfm pages but cannot seem to get it working. Page 1 has the record id, im trying to save in numSession in the recordclick() function and pass it in the next page, where I use it in my query, but its not working.
Heres a rough outline of what im doing:
Page 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>
Im trying to pass the unique database session id through cfm pages but cannot seem to get it working. Page 1 has the record id, im trying to save in numSession in the recordclick() function and pass it in the next page, where I use it in my query, but its not working.
Heres a rough outline of what im doing:
Page 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>
Share
Improve this question
edited May 1, 2019 at 23:11
Machavity♦
31.7k27 gold badges95 silver badges105 bronze badges
asked Feb 23, 2012 at 15:10
user1228554user1228554
831 silver badge6 bronze badges
1 Answer
Reset to default 6ColdFusion is executed on the server, JavaScript is executed on the client. Your JS has no idea what result
is.
You need to use 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.
Here's an example, taken from the docs:
<cfset thisString="hello world">
<script type="text/javascript" language="JavaScript">
<cfoutput>
var #ToScript(thisString, "jsVar")#;
</cfoutput>
</script>
Your code (corrected):
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;
}
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745477718a4629422.html
评论列表(0条)