感謝您的幫助!Coldfusion - 更新動態表單字段
我的應用程序允許用戶創建動態問題,其中有n個與問題相關的動態答案。
允許用戶構建這些頁面是完整的,並且完美地創建這些作品。
我被困在構建更新能力的最有效方式。通常在更新期間,我會放棄字段/關係並重建它們。這不是這個應用程序的選項,因爲一旦輸入了答案,我需要保留它以用於報告目的。
因此,在更新期間,我需要識別哪些答案是新的,並插入這些答案 - 而不是更新舊答案。
需要一些幫助,思考這一個通過,謝謝你們!
感謝您的幫助!Coldfusion - 更新動態表單字段
我的應用程序允許用戶創建動態問題,其中有n個與問題相關的動態答案。
允許用戶構建這些頁面是完整的,並且完美地創建這些作品。
我被困在構建更新能力的最有效方式。通常在更新期間,我會放棄字段/關係並重建它們。這不是這個應用程序的選項,因爲一旦輸入了答案,我需要保留它以用於報告目的。
因此,在更新期間,我需要識別哪些答案是新的,並插入這些答案 - 而不是更新舊答案。
需要一些幫助,思考這一個通過,謝謝你們!
爲了實現這樣的事情,我通常會在每個要更新的字段旁邊都有一個隱藏字段,其中包含其ID。如果某個字段的匹配ID是「0」,那麼我知道這是一個新項目,而不是已存在並需要更新的項目。因此,當您循環訪問FORM結構時,請在非零ID上運行更新,然後插入其餘部分。
我採取了與丹類似的方法,但在字段名稱中包含了ID。例如,如果我有三個答案字段,其中一個是新的,則名稱可能是「答案210」,「答案211」和「答案0」。
當我處理表單時,我可以遍歷每個字段,獲取文本之後的數字 - 「回答」 - 並相應地處理數據。你最終會做什麼是這樣的:
<cfoutput>
<cfif isDefined("form.FIELDNAMES")>
<cfloop index="x" list = "#form.fieldnames#">
<cfif findNoCase('answer',x) NEQ 0>
<cfset varInteger = replaceNoCase(x,'Answer','')>
<cfif varInteger EQ 0>
Insert Answer text: #form[x]# with ID of #varInteger#<br />
<cfelse>
Update Answer text: #form[x]# with ID of #varInteger#<br />
</cfif>
</cfif>
</cfloop>
</cfif>
</cfoutput>
牢記處理可以處理任何數量的方式......這是概念證明。