0

用户将输入他们的 ID 号,然后将显示与此 ID 号相关的帐户(单选按钮)。他们可能会返回 1 个甚至 10 个帐户(单选按钮)。我需要让他们将他们的帐户更新为 Y、N。帐户 ID 是组成广播组的内容。现在我需要知道谁来循环这些单选按钮以查看他们选择的内容。

<cfif isDefined('FORM.bnt2')>
    <cfloop index="i" list="#form.fieldnames#">
        <cfquery  name="accept" datasource="#request.dsn#">
            UPDATE opt SET 
            f14 = '#evaluate(i)#'
            WHERE f4 = '#FORM.id#'
        </cfquery>
    </cfloop>
</cfif>                                                              

<cfform  name="frm2" id="form2" method="post" action="">
    <cfinput type="radio" name="#f5#" value="y"> 
    <cfinput type="radio" name="#f5#" value="n">
    <cfinput type="hidden" name="id" value="#f4#" />
    <cfinput name="bnt2" type="image" class="btn" src="images/accept.gif" value="Submit"/>
4

2 回答 2

1

不要使用评估!

一定要使用cfqueryparam!

并修复那些变量名称,f5btn2不是好名称。


无论如何,我不完全确定你在做什么,但这里有一个代码片段给你:

<cfoutput>
<cfloop index="CurField" list="#Form.FieldNames#">
    <br/>#CurField#=#XmlFormat(Form[CurField])#
</cfloop>
</cfoutput>

这应该为您提供使事情正常运行所需的东西。

请注意,这XmlFormat是为了显示 - 通常不在查询中完成(将数据存储在数据库中),而是在显示到浏览器时完成。(HtmlEditFormat如果您愿意,也可以使用。)

于 2010-09-10T16:29:45.377 回答
0

谢谢大家的帮助,这是我的最终解决方案。

<cfif isDefined("FORM.bnt2")>
<cfloop index="id" list="#form.listofids#" delimiters=",">
<cfquery  name="accept" datasource="#request.dsn#">
UPDATE opt SET
F14 = '#Evaluate("form.select_#id#")#'
WHERE f5 = '#id#'
</cfquery>
</cfloop>
</cfif>


<cfform  name="frm2" id="form2" method="post" action="">
<cfoutput query="accountCheck" >
<cfinput type="radio" name="select_#f5#" value="y" required="yes" validateat="onsubmit" message="A value of Yes or No is required.">
<cfinput type="radio" name="select_#f5#" value="n" required="yes" validateat="onsubmit" message="A value of Yes or No is required.">
<cfinput type="hidden" name="listofids" value="#ValueList(accountCheck.f5)#" >
</cfoutput>
<cfinput name="bnt2" type="image" class="btn" src="images/accept.gif" value="x"  style="float:right;" />
</cfform>
于 2010-09-11T14:37:11.317 回答