1

javascript または coldfusion を使用して、値を渡された値に置き換えようとしています。アイデアは、グリッドに値を出力するテンプレートがあるということです。ただし、表示される値はクエリによって動的に決定される必要があります。これまでのところ、私は良いアイデアを思いつくことができませんでした。

これは、私がうまくいくと思ったもののサンプルです(しかしうまくいきません)。私がやろうとしていることを説明するかもしれません:

<cfset StaticValue="DynamicValue">

<cfset DynamicValue="What I Want To Show">

<script type="text/javascript">
   document.getElementById("demo").innerHTML="<cfoutput>#StaticValue#</cfoutput>";
</script>

<cfoutput>#<span id="demo"></span>#</cfoutput>
4

3 に答える 3

3

既存の文字列/変数を変数名として使用するには、角かっこ表記を使用する必要があります。

CFでは、変数のスコープを明示的に指定していない場合、変数はVariablesスコープ内に作成されるため、次のことができます。

<cfset StaticValue="DynamicValue">

<cfset DynamicValue="What I Want To Show">

<!--- outputs value of Variables.DynamicValue --->
<cfoutput>#Variables[StaticValue]#</cfoutupt>

(これはすべてのスコープ/構造体/クエリなどで機能します)

注:変数をJavaScript文字列内に出力する場合は、変数をラップしてJsStringFormat(...)、適切な文字がエスケープされていることを確認する必要があります。

于 2012-06-12T13:41:51.497 に答える
2

まず第一に、これは間違っています:

<cfoutput>#<span id="demo"></span>#</cfoutput>

という名前のCF変数があることを示唆しています

<span id="demo"></span>

あなたの質問は明確ではないので、どちらも私の答えではありませんが、あなたがこれをやろうとしていると思われます:

<script type="text/javascript">
    <cfoutput>
        document.getElementById("demo").innerHTML="#StaticValue#";
    </cfoutput>
</script>

<span id="demo"></span>

この JavaScript がページで実行されると、文字列「DynamicValue」が span#demo に書き込まれます。

于 2012-06-12T11:42:24.057 に答える
0

それらが同じかどうかを比較して、同じである場合は表示しようとしていますか?

<cfset StaticValue="DynamicValue"> 

<cfif staticvalue is dynamicvalue>
   <cfset DynamicValue="What I Want To Show"> 

   <script type="text/javascript">
   <cfoutput>
   document.getElementById("demo").innerHTML="#DynamicValue#"; 
   </cfoutput>
   </script> 
</cfif>

ここで何をしようとしているのかわかりません - これはあなたの内部の悪い変数でエラーになるからです# #

<cfoutput>#<span id="demo"></span>#</cfoutput> 

次のようにする必要があります。

<cfoutput>
<span id="demo">
#dynamicvalue#
</span>
</cfoutput> 

表示する URL を取得しようとしているだけの場合:

<cfoutput>
<span id="demo">
<a href="#dynamicvalue#">#dynamicvalue#</a>
</span>
</cfoutput> 
于 2012-06-12T12:00:07.590 に答える