2010-09-17 19 views
0

我在比照下面的代碼,我想提醒一些值如何讓CF的值在JavaScript

...... 
...... 
<cfelse> 

      <cfset val = structFind(request.session.prefs, key)> 

      <cfquery name="insertPref" datasource="database"> 
      INSERT INTO 
       `database`.`user` (
        `cID`, 
        `cliID`, 
        `userID`, 
        `userPID`, 
        `value` 
       ) 
      SELECT 
       #request.cID#, 
       #request.cliID#, 
       #request.userID#, 
       `user`.`userPID`, 
       <cfqueryparam value="#preserveSingleQuotes(val)#"> 
      FROM 
       `database`.`user` 
      WHERE 
       `applicationID` = 1 

      AND 
       `name` = <cfqueryparam value="#preserveSingleQuotes(key)#"> 
      ON DUPLICATE KEY UPDATE 
       `value` = <cfqueryparam value="#preserveSingleQuotes(val)#"> 
      </cfquery> 

     </cfif> 

    </cfif> 

</cfloop> 

任何幫助將不勝感激

+1

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6e9d.html – Henry 2010-09-17 21:50:28

+1

爲什麼要使用preserveSingleQuotes()與cfqueryparam ..? – Leigh 2010-09-17 22:31:29

+0

應該在cfqueryparam中使用「list = true」而不是preservesinglequotes()。 – ppshein 2010-09-18 07:40:03

回答

3

我會用設爲myVal由於val是一個返回整數的函數。

你嘗試:

<cfoutput> 
    <script type="text/javascript"> 
     alert("#myval#"); 
    </script> 
</cfoutput> 
2

如果你想CF值轉換爲JavaScript值,使用ToScript。

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