调用名称中带有变量的变量 - coldfusion? [英] Calling a variable with a variable in its name - coldfusion?

查看:164
本文介绍了调用名称中带有变量的变量 - coldfusion?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试使用方括号符号引用动态变量。 (我正在遍历一个查询创建的一组产品,如果你想知道应用程序,则为每个绑定的字段创建一个字段)



我把它缩小到这个代码块,当我尝试运行它时会抛出一个Invalid Expression错误。

  ; cfif FORM [QTY_& SKU] NEQ>> 
< div class =sopQty>< input type =numbermin =0name =QTY_#SKU#value =#FORM ['QTY_'& SKU]# />< / div>
< cfelse>
< div class =sopQty>< input type =numbername =QTY_#SKU#/>< / div>
< / cfif>

目标是从上一页传递值,如果有一个,否则离开字段空白。我想在这种情况下有一些奇怪的语法,我没有能够弄清楚。错误代码如下:



/ p>

标签:CFIF



位置线= 62; Column = 17



详细信息错误表达式[#FORM ['QTY_'& SKU])#]



来源

  60:< div class =sopSearch>< p>#SearchAlias#< / p>< / div> 
61:< div class =sopPrice>< p>#ISBNupc#< / p>< / div>
62:< cfif FORM [QTY_& SKU] NEQ>>
63:< div class =sopQty>< input type =numbermin =0name =QTY_#SKU#value =#FORM ['QTY_'& SKU] )#/>< / div>
64:< cfelse>

^底层CFML源代码片段


任何建议?

解决方案

这只是一个例子,因为我不知道你在哪里设置您的变量,但在您的操作页面上尝试类似以下内容:

 < cfset SKU =123> 
< cfset dynamic_Var =QTY_&变量。
< cfif IsDefined(form [dynamic_Var])>
< cfoutput> #form [dynamic_Var]#< / cfoutput>
< cfelse>
fail
< / cfif>

这是提交表单:

 < form name =testaction =test.cfm> 
< input type =textname =QTY_123value =test>
< input type =submitname =submitvalue =submit>
< / form>


Attempting to use squarebracket notation to reference a dynamic variable. (I'm looping through a set of product created by a query, creating fields for each tied to their unique SKU, if you're wondering about application)

I've narrowed it down to this chunk of code, which throws an "Invalid Expression" error when I try and run it.

<cfif FORM["QTY_" & SKU] NEQ ''>
    <div class="sopQty"><input type="number" min="0" name="QTY_#SKU#" value = "#FORM['QTY_' & SKU]#" /></div>
<cfelse>
    <div class="sopQty"><input type="number" name="QTY_#SKU#" /></div>
</cfif>

The goal is to pass the value on from the previous page if there is one, else leave the field blank. I'm thinking there's some quirk of syntax in this case that I haven't been able to figure out. Error in block below:

Type: Template

Message: Invalid Expression

Tag: CFIF

Position Line=62; Column=17

Detail Bad Expression [#FORM['QTY_' & SKU])#]

Source

60:                 <div class="sopSearch"><p>#SearchAlias#</p></div> 
61:                 <div class="sopPrice"><p>#ISBNupc#</p></div>
62:                  <cfif FORM["QTY_" & SKU] NEQ ''>
63:                     <div class="sopQty"><input type="number" min="0" name="QTY_#SKU#" value = "#FORM['QTY_' & SKU])#" /></div>
64:         <cfelse>

^ Snippet from underlying CFML source

Any suggestions?

解决方案

This is just an example,because I do not know where you are setting your variables, but try something like the following on your action page:

<cfset SKU = "123">
<cfset dynamic_Var = "QTY_" & variables.SKU>
<cfif IsDefined("form[dynamic_Var]")>
  <cfoutput>#form[dynamic_Var]#</cfoutput>
<cfelse>
  fail
</cfif>

Here is the submitting form:

<form name="test" action="test.cfm">
    <input type="text" name="QTY_123" value="test">
    <input type="submit" name="submit" value="submit">
</form>

这篇关于调用名称中带有变量的变量 - coldfusion?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆