2

私の質問は、プログラミングやエラーよりもアプローチに向けられています。

一連のデータを実行して収集するクエリがあります。次に、そのクエリの戻り値を使用して、すべての値を一覧表示するテーブルをページ上に作成します。それに加えて、たとえば、各値でいくつかのアクションを実行する必要があります。

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

編集と削除はボタンです。したがって、onClick javascriptで使用している編集ボタンでは、別のページにリダイレクトされますが、削除ボタンでは、次の3つのことを行う必要があります。

  1. プロンプトユーザー、削除しても大丈夫ですか?msg(そのためにjavascriptを使用します(確認を返します...)。
  2. 削除するクエリを実行する
  3. ページの更新(自己)

このための最良のアプローチモデルはありますか?2つのインライン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

最も簡単な最も簡単な方法は、ユーザーの選択に基づいてtrue/falseを返すonclickハンドラーを用意することです。

    <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 に答える
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 に答える