Forms 表单输入,检查然后更新

Forms 表单输入,检查然后更新,forms,coldfusion,Forms,Coldfusion,我正在创建一个表单,用户将在其中输入数据,然后单击“查看”查看他们输入的数据。然后在审查后,“保存”记录 我正在使用提交表单,但不知道如何从“审阅”页面将数据提交到数据库,因为这里没有表单 我是否应该设置变量,如FORM.Name=variables.Name以显示在查看页面上,然后在提交“保存”后将其转换回 我不知道该怎么办。过度思考?为什么不在查看页面中使用另一个带有隐藏输入字段的表单?确认将是一个提交按钮,指向将数据保存到服务器的页面。 第二种可能性(不太合适):将数据直接保存到数据库中,

我正在创建一个表单,用户将在其中输入数据,然后单击“查看”查看他们输入的数据。然后在审查后,“保存”记录

我正在使用
提交表单,但不知道如何从“审阅”页面将数据提交到数据库,因为这里没有表单

我是否应该设置变量,如
FORM.Name=variables.Name
以显示在查看页面上,然后在提交“保存”后将其转换回


我不知道该怎么办。过度思考?

为什么不在查看页面中使用另一个带有隐藏输入字段的表单?确认将是一个提交按钮,指向将数据保存到服务器的页面。
第二种可能性(不太合适):将数据直接保存到数据库中,然后从那里加载以供审阅。诀窍:使用带有“已确认”的标志,并在确认后设置。糟糕的是:您必须清理尚未确认的旧数据。

为什么不在查看页面中使用第二个带有隐藏输入字段的表单?确认将是一个提交按钮,指向将数据保存到服务器的页面。
第二种可能性(不太合适):将数据直接保存到数据库中,然后从那里加载以供审阅。诀窍:使用带有“已确认”的标志,并在确认后设置。糟糕的是:您必须清理尚未确认的旧数据。

只需保留在表单范围内即可。表单值的基本输出,使用烘焙的form.fieldList:

<cfloop list="#form.fieldList#" item="fieldName">

    <cfoutput>
        #fieldName#: #form[fieldName]#<br>
        <input type="hidden" name="#fieldName#" value="#form[fieldName]#">
    </cfoutput>

</cfloop>

#字段名:#形式[字段名]#
使用隐藏字段中的值(应镜像原始表单值),链接到原始表单或提交到保存表单的页面


还有一些其他的方法可以做到这一点,但对我来说这似乎是最简单的。

只需保持在表单范围内即可。表单值的基本输出,使用烘焙的form.fieldList:

<cfloop list="#form.fieldList#" item="fieldName">

    <cfoutput>
        #fieldName#: #form[fieldName]#<br>
        <input type="hidden" name="#fieldName#" value="#form[fieldName]#">
    </cfoutput>

</cfloop>

#字段名:#形式[字段名]#
使用隐藏字段中的值(应镜像原始表单值),链接到原始表单或提交到保存表单的页面


还有一些其他方法可以做到这一点,但对我来说这似乎是最简单的。

改进比利·克雷文斯的答案。这可以防止具有嵌入式攻击的字段

<cfoutput>
    #lcase(fieldName)#: #xmlFormat(form[fieldName])#<br>
    <input type="hidden" name="#fieldName#" value="#xmlFormat(form[fieldName])#" />
</cfoutput>


#lcase(fieldName)#:#xmlFormat(form[fieldName])#


这也不适用于图像上传。lcase(fieldName)用于防止字段显示为所有大写。小写通常更容易阅读。

改进Billy Cravens的答案。这可以防止具有嵌入式攻击的字段

<cfoutput>
    #lcase(fieldName)#: #xmlFormat(form[fieldName])#<br>
    <input type="hidden" name="#fieldName#" value="#xmlFormat(form[fieldName])#" />
</cfoutput>


#lcase(fieldName)#:#xmlFormat(form[fieldName])#


这也不适用于图像上传。lcase(fieldName)用于防止字段显示为所有大写。小写通常更容易阅读。

我想你是想得太多了。将表单传递到“审阅”页面,然后将这些表单变量作为隐藏变量传递到“保存”页面。如果您不想重新发明控制盘,10多年前有一个自定义标记可以为您自动执行此操作:。我想您是想得太多了。将表单传递到“审阅”页面,然后将这些表单变量作为隐藏变量传递到“保存”页面。如果您不想重新发明控制盘,则有一个十多年前的自定义标记可以为您自动执行此操作:。第二个选项有有效的用例。但我同意,在这种情况下,这可能是不必要的。具有隐藏字段的第二个表单就足够了。第二个选项有有效的用例。但我同意,在这种情况下,这可能是不必要的。有隐藏字段的第二个表单应该足够了。我每天都在项目中进进出出,我还没能发回这个问题。如上所述,我可能已经考虑过度了。我将尝试上面的fieldList解决方案,一些我不知道存在的东西。我感谢你的帮助!我每天都在项目中进进出出,我一直无法发回这个问题。如上所述,我可能已经考虑过度了。我将尝试上面的fieldList解决方案,一些我不知道存在的东西。我感谢你的帮助!