2

我的问题更倾向于方法而不是编程或错误。

我有一个运行并收集一组数据的查询。然后,我想使用该查询的返回值在列出所有值的页面上构建一个表。除此之外,我还需要对每个值进行一些操作,例如:

my_val (edit) (delete)
my_cal (edit) (delete)

编辑和删除是按钮。所以我使用onClick javascript的编辑按钮,我被重定向到另一个页面,但删除按钮我需要它来做三件事:

  1. 提示用户,可以删除吗?味精(为此使用javascript(返回确认...)。
  2. 执行查询删除
  3. 刷新页面(自己)

有没有最好的方法模型呢?调用两个内联 javascript 命令更容易吗?使用javascript函数?也许是 ColdFusion 功能?

任何指示都会有所帮助!谢谢。

4

4 回答 4

2

我认为你接近你正在寻找的东西。

我进行删除的方式是在 JS 中确认,然后将请求发送到执行删除过程的另一个页面,然后将您的用户发送回您的原始页面(让您刷新)。

那将是简单的路线,您也可以使用 AJAX 来调用您的流程页面并在后台进行更改。然后您要么必须进行 JS 刷新,要么手动处理页面上的更改。

于 2012-07-05T14:22:34.573 回答
1

我认为删除的最简单方法是这样的。我确实假设您使用 jQuery 或其他一些库或获取 JavaScript 的东西。

YourPage.cfm
<cfif structKeyExists(URL, "Action") and URL.Action eq "delete">
    <cfququery>
       // delete the item using the id provided
    </cfquery>
</cfif>

<cfquery name="GetFresh">
    // get fresh info
</cfquery>

<cfloop query="GetFresh">
    Something <span class='DeleteLink' data-someid='#SomeID#'>delete</span> <br>
</cfloop>

<script type='text/javascript'>

    $DeleteLinks = $("span.DeleteLink");

    $DeleteLink.click(function() {
        var Confirm = confirm('Are you sure you want to delete?');
        if (Confirm == true) {
           var SomeID = $(this).data("someid");
           var URL = "YourPage.cfm?Action=delete&SomeID=" + SomeID;
           window.location = URL;
        }
    });
</script>
于 2012-07-05T14:44:10.817 回答
0

这就是我使用的:

!function($, window, undefined) {
    var document = window.document;
    $(document).delegate('input:submit[name="Delete"][value="Delete"]','click',function() {
        return window.confirm(this.title || 'Delete this record?');
    });
}(jQuery, window);
于 2012-07-06T18:01:51.070 回答
0

最简单最快的方法是只使用一个 onclick 处理程序,它根据用户的选择返回 true/false

    <a href="delete.cfm?id=1" onclick="return confirm('Are you sure you want to delete his?')">Delete</a> 

当然还有更优雅的方法可以做到这一点,但以上是基本的并且有效。

于 2012-07-06T16:15:37.617 回答