2013-04-16 35 views
0

我有一个表单需要填充和更新。在窗体上有几个下拉字段和输入字段需要填充,然后允许用户根据需要进行更改。我创建了查询来选择数据,然后我想用选定的数据填充表单,但是,允许用户更改表单域。我已经尝试了第一个字段,它是一个下拉字段,但是,我收到一个错误,说我无法嵌套两个查询。在ColdFusion中填充并更新表单数据

这是我收到的错误:查询驱动的cfoutput标记嵌套在cfoutput标记中,该标记还具有查询属性。这是不允许的。嵌套这些标签意味着您想要使用分组处理。但是,只有顶级标记可以指定驱动处理的查询。

这里是我的代码:

<cfoutput query="getinfo"> 
    <select name="ProgramName" id="ProgramName" style= "font-size:24px"> 
    <option style="font-size:24px" value = "0">--Program Name--</option> 
    <cfloop query="PName"> 
     <option value="#ProgramName#">#ProgramName#</option> 
    </cfloop> 
    </select> 
</cfoutput> 

这里是我的程序getinfo查询:

<cfquery name="getinfo" datasource="dbotest"> 
    SELECT ProgramName, TestName 
     FROM Programs 
    WHERE ProgramID = "D219"  
</cfquery> 
+3

代码是完全有效的。你最初是否有''标记与你的pname查询? –

+1

当它@MattBusche,你再次击败我。 ;)约翰 - 是否有另外一个''标签围绕着你给我们看不到的代码? –

+0

它自己的代码不会产生你得到的错误。顺便说一句,如果查询getinfo有多个行,您将获得一系列下拉列表,所有下拉列表都具有相同的名称,并且都有相同的可用选项。那是你要的吗? –

回答

0

你张贴什么是输出查询有效的语法。

<cfoutput query="getinfo"> 
    <select name="ProgramName" id="ProgramName" style= "font-size:24px"> 
    <option style="font-size:24px" value = "0">--Program Name--</option> 
    <cfloop query="PName"> 
     <option value="#ProgramName#">#ProgramName#</option> 
    </cfloop> 
    </select> 
</cfoutput> 

如果您的页面设置为这样,那么这是无效的。你可以简单地改变<cfoutput query="getinfo"><cfloop query="getinfo">

<cfoutput> 
<!--- other code ---> 
<cfloop query="getinfo"> 
    <select name="ProgramName" id="ProgramName" style= "font-size:24px"> 
    <option style="font-size:24px" value = "0">--Program Name--</option> 
    <cfloop query="PName"> 
     <option value="#ProgramName#">#ProgramName#</option> 
    </cfloop> 
    </select> 
</cfloop> 
<!--- more code ---> 
</cfoutput> 

(我知道这是不是一个真正的答案应该有希望帮助明确的事情了。)

+0

但你没有改变它自己。那是一个错误吗? –

相关问题