更新html表中的特定行-ColdFusion

更新html表中的特定行-ColdFusion,coldfusion,coldfusion-9,Coldfusion,Coldfusion 9,我将数据从查询输出到html表以进行表示。在桌子的右角,我有一个“更新”按钮和一个“删除”按钮 我想做的是: 当我按下更新按钮时,一个模态打开。在该模式中,我有一个表单,我希望预定义当前行中的值,并能够编辑特定行 当我按下一行上的删除按钮时,我希望删除该行并重新加载页面 这是我的html表格,右边的最后两列是按钮 **Survey Name** **Category** **Weight** **Update** **Delete** Consultation Amb

我将数据从查询输出到html表以进行表示。在桌子的右角,我有一个“更新”按钮和一个“删除”按钮

我想做的是:

  • 当我按下更新按钮时,一个模态打开。在该模式中,我有一个表单,我希望预定义当前行中的值,并能够编辑特定行
  • 当我按下一行上的删除按钮时,我希望删除该行并重新加载页面
这是我的html表格,右边的最后两列是按钮

 **Survey Name**    **Category**    **Weight**  **Update**  **Delete**
 Consultation   Ambiance                 20         Update  Delete
 Consultation   Consultation             40         Update  Delete
 Consultation   Follow Up                40         Update  Delete
这是我生成表的第一个查询

<cfquery name="categories" datasource="#dsn#">
        select s.name, s.id as surveyid, rc.categoryname, rc.id as categoryid, sc.cweight 
        from survey_categories sc
        join surveys s on s.id = sc.surveyidfk
        join rating_categories rc on rc.id = sc.categoryidfk
        where sc.surveyidfk='#form.survey#'
    </cfquery>
更新
说得更清楚,因为我觉得我写得太多了。我需要在表单提交时调用模态。我需要用表单替换当前按钮,然后通过隐藏变量传递所有数据。问题是这对我不起作用。我在这里找到了另一个例子,但它似乎不起作用

我认为最简单的方法是在每行末尾有两种形式。你已经有按钮了。其余的可以是隐藏字段

您的更新表单将有一个目标属性来启动弹出窗口。因为您已经拥有查询中的值,所以只需将它们作为隐藏字段提交到弹出窗口

您的删除表单将提交到当前coldfusion页面。在页面的开头,您将看到如下内容:

<cfif StructKeyExists(form, "DeleteMeOrSomethingLikeThat")>
code to delete record
</cfif>

删除记录的代码
这会让你开始。如果你以后想改进它,你可以


最后,一次只做一件事。

我认为最简单的方法是在每行末尾有两个表单。你已经有按钮了。其余的可以是隐藏字段

您的更新表单将有一个目标属性来启动弹出窗口。因为您已经拥有查询中的值,所以只需将它们作为隐藏字段提交到弹出窗口

您的删除表单将提交到当前coldfusion页面。在页面的开头,您将看到如下内容:

<cfif StructKeyExists(form, "DeleteMeOrSomethingLikeThat")>
code to delete record
</cfif>

删除记录的代码
这会让你开始。如果你以后想改进它,你可以


最后,一次只做一件事。

那么什么不起作用呢?提交更新表单时,应该能够使用呈现的表重新加载页面,并且假设更新查询成功,查询的值应该反映更新。Re:在删除操作中,人们通常会将删除按钮/图标/任何东西包装成一个小表单,将行的id提交给将删除它的处理页面。您还可以使用AJAX请求在单击delete按钮时完成相同的操作,当我按下“更新”按钮时,带入弹出窗口的值不会反映我真正想要更新的值。请使用cfqueryparam,否则您将接受SQL注入。我已经做了更改@duncan Thank。那么,什么不起作用?提交更新表单时,应该能够使用呈现的表重新加载页面,并且假设更新查询成功,查询的值应该反映更新。Re:在删除操作中,人们通常会将删除按钮/图标/任何东西包装成一个小表单,将行的id提交给将删除它的处理页面。您还可以使用AJAX请求在单击delete按钮时完成相同的操作,当我按下“更新”按钮时,带入弹出窗口的值并不反映我真正想要更新的值。请使用cfqueryparam,否则您将对SQL注入敞开大门。我已经在@duncan Thank进行了更改。我还没有启动“删除”按钮,它就在那里。谢谢你的帮助,不过我会试试你的方法。我还没有启动删除按钮,它就在那里。谢谢你的帮助,不过我会试试你的方法。