感谢您的帮助!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>
牢记处理可以处理任何数量的方式......这是概念证明。