2010-09-10 73 views
0

用戶將輸入他們的Id號碼,然後會顯示與此Id號碼相關的帳戶(單選按鈕)。他們可以有1個甚至10個賬戶(單選按鈕)。我需要讓他們 將他們的帳戶更新爲Y,N。帳戶ID是組成廣播組的組成部分。現在我需要知道誰來循環這些單選按鈕來查看他們選擇的內容。Coldfusion中的動態單選按鈕組

<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"/> 
+0

表單名?或字段名稱?如果轉儲表單範圍,您應該能夠看到所有內容,然後您可以遍歷結構或字段名稱列表來執行所需的任何操作。 – Henry 2010-09-10 15:40:09

+0

這是我正在嘗試做的... UPDATE SET選擇F14 = '#evaluate(ⅰ)#' 其中f4 = '#FORM.ssn#' 2010-09-10 15:43:47

+1

對於所有聖潔的愛...請不要使用#form.SSN#;)有很多工具可用於創建適用於一般/不安全形式的唯一標識符。 – Leigh 2010-09-10 20:57:53

回答

1

不要使用評價!

使用cfqueryparam!

並修復這些變量名稱,f5,btn2等都不是好名字。


反正我不能完全肯定自己在做什麼,但這裏有一個代碼片段你:

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

這應該給你你需要做的事情是什麼工作。

注意XmlFormat用於顯示 - 通常不在查詢中完成(將數據存儲在數據庫中),而是在顯示給瀏覽器時進行。 (如果您願意,也可以使用HtmlEditFormat)。

+0

如果用戶選擇Y或N,我需要獲取單選按鈕的值。字段名將從數據庫中的ID動態生成以形成無線組。當我嘗試查找單選按鈕的值時,我只會從提交按鈕中獲取值。 – 2010-09-10 17:22:12

+1

如果這兩個選項都沒有被點擊,則結構中沒有任何內容。只有選擇其中一個選項時纔會顯示。 – jarofclay 2010-09-10 18:36:00

+0

選項被選中,我只是不知道更新數據庫的無線電字段的名稱,因爲每次字段的名稱都會有所不同()。 – 2010-09-10 19:03:45

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> 
+1

再看看Peter Boughton的建議。你可以做出幾項改進。特別是關於cfqueryparam的說明。順便說一句:你真的把SSN存儲在一個隱藏的領域..? – Leigh 2010-09-13 00:15:34