2012-03-07 51 views
1

基本思想是這樣的:我有一個表格可以動態生成表單域,所以假設有5個人可以註冊(他們都花費10美元),那麼這5個表單將被顯示。就像這樣:如何在ColdFusion中獲取變量NAME而不是變量的值?

  <tr> 
      <th><label>#SeminarWisTitle#</label></th> 
      <td> 
      <label><input type="checkbox" name="#SeminarWisID#" value="10.00" onclick="CheckChoice(this);" onfocus="startCalc();" onblur="stopCalc();" class="checkbox" /> Individual Webinar ($119)</label> 
      </tr> 
      </cfoutput> 

,因爲現在的JavaScript對所有這些事件的價值將是10.00,但表單字段的名稱將是唯一的,而這正是我actaully想在存儲數據庫。

這是我寫的代碼:

<cfparam name="seminarBulkSignUp_List" default=""> 
      <cfoutput query="qSeminarWisTwo"> 
       <cfparam name="FORM.#SeminarWisID#" default=""> 

       <cfif #FORM[#SeminarWisID#]# neq ""> 
        <cfset seminarBulkSignUp_List = ListAppend(seminarBulkSignUp_List, #FORM[#SeminarWisID#]#)> 
       </cfif> 
      </cfoutput> 

      <cfset FORM.SeminarWisTitle = #seminarBulkSignUp_List#> 
與此代碼

所以,我運行一個查詢所有可能的事件,然後就覈對已經提交,看看哪些形式在未選中時是「空白」的,並且選擇的是我想要添加到列表中以存儲在數據庫中的那些。

現在,只要讓我知道選擇了哪些事件,哪些不是,但我希望列表編譯實際的FORM FIELD名稱而不是它們具有的值。我會怎麼做?

回答

7
<cfoutput> 
    <cfloop list="#StructKeyList(FORM)#" index="thisField"> 
    My field name: #thisField#<br/> 
    My field value: #FORM[thisField]#<br/> 
    </cfloop> 
</cfoutput> 

根據需要應用。

+0

Aghh我很笨我也可以剛剛刪除#FORM [在ListAppend中,我會得到我需要的!所以這條線應該是這樣的: Amir 2012-03-07 15:54:59

+0

你有一個失蹤的。將您的放在之外是個好主意。 – 2012-03-07 15:56:07

+0

感謝Evik,我實際上在我的代碼中有輸出,它只是因爲某些原因沒有複製過來。它現在可行,但正如我上面提到的,答案在我面前是正確的,我沒有看到它。 – Amir 2012-03-07 16:00:01

相關問題