2011-06-01 43 views
1

提交我有一个显示数据库条目的代码,并允许进行编辑/删除。检查文本字段的修改一旦形式ColdFusion的

我试图找到一些提交方式,看是否特定字段已更改,因此如果该字段的旧数据不被任何数据库条目参考,我可以将其删除。任何想法如何做到这一点?

为了应对第一评论/编辑:这是有点很难把这个问题了的代码在这里,但我会努力抓住一些片段,帮助。

<td>Upload File:</td> 
<td> 
    <input type="file" name="txtName" size="50" /> 
</td> 
<cfif url.filesid neq "0"> 
<td>Or Use Server File:</td> 
    <td> 
    <select name="ddlFilesNames"> 
     <option value="" selected></option> 
      <cfoutput query="qfiles"> 
       <option 
        value="#qfiles.name#" 
        #iif(qfiles.name eq recEditFiles.fileName,DE("selected"),DE(""))# 
       >#qfiles.name#</option> 
      </cfoutput>       
    </select> 
    </td> 
</cfif> 

这是两个领域,我需要检查,如果他们改变了,当编辑按钮被击中的下拉列表中选择在当前的服务器上的文件中显示,但编辑他们可以将文件添加到文本字段中(通过浏览选项上传新文件),或者他们可以从下拉列表中选择另一个文件,然后点击提交更改的更新按钮。

当更新按钮被击中我需要以某种方式检查是否田野里的一切都改变了。

我觉得主要的问题之一是,一旦按钮被击中,javascript方法被调用,到目前为止,我一直不成功的是在javascript方法中绑定coldfusion,每当我尝试这样做或反之亦然它打破了这个计划。

回答

2

一个简单的方法来比较是否窗体上的字段已经从原来的改变是包括随后的动作页上的一个隐藏的表单字段中的原始数据进行比较的表单字段的值,并且其隐藏副本,看看他们是否已经改变了。

形式:

<input type="text" name="myField" value="#q.myField#" /> 
<input type="hidden" name="myField_original" value="#q.myField#" /> 

行动:

<cfif form.myField NEQ form.myField_original> 
    <cfset fieldHasChanged = true /> 
<cfelse> 
    <cfset fieldHasChanged = false /> 
</cfif> 

如果你与表单字段名称一致,它会很容易创建操作页面上的循环做这些比较。

+0

谢谢,我试图做这样的事情,但我对这种语言仍然陌生,所以我无法让它正常工作。似乎现在正在工作。 – SomeoneRandom 2011-06-02 14:34:34

0

一些代码会有所帮助。听起来像你有一个<input type="file" ... />,你想知道用户是否从输入的数据库记录中“移除”文件?

平时我通过显示与记录和“删除”按钮或图标,使您可以删除图像关联当前文件处理这个问题。我还包括一个“替代”或“上传新的”或“上传另一个”按钮,允许用户选择另一个文件替换当前文件,或将文件添加到记录没有文件。

如果你不这样做,那么你无法知道用户是否不想再次上传相同的文件(因为它已经存在,为什么会这样?),或者如果他们打算让您的系统删除该文件及其与数据库记录的关联。

+0

我编辑的主帖,使其更清晰小幅我希望。 – SomeoneRandom 2011-06-02 13:57:43