2

奇妙な問題があります。ユーザーを削除するためのajaxリクエストを送信するリンクを提供しています。ユーザーが初めてリンクをクリックして確認ボックスを確認すると、ajax機能がトリガーされます。しかし、その後ユーザーがクラスdelUserのリンクを再度クリックしても、何も起こりません。確認ボックスなし、クリック機能は無視されているようです。確認ボックスでパーツをカットすると、すべて正常に機能することがわかりました。

この確認の何が問題になっていますか?

jQuery(".delUser").click(function(){       
    // open confirm Window
    confirm = window.confirm("Nutzer wirklich löschen?");
    User = $(this).attr("data-link");

    if(confirm == true){

            jQuery.ajax({
            type: "POST",
            url: "/Admin/DelUser.php",
            data: { where: User },
            success: function(retData){
                    jQuery.noticeAdd({text: "" + retData + "",
                    stay: false, 
                    type: 'error'
                });                             
                }
            }); 
            $(this).closest('tr').remove(); 

            } else {
                   talk("Nutzer wurde nicht gelöscht");
            }         
    });

敬具、

トニー

4

2 に答える 2

4

あなたが上書きしているのでconfirm

この行:

confirm = window.confirm("Nutzer wirklich löschen?");

に等しい

window.confirm = window.confirm("Nutzer wirklich löschen?");

グローバルを使用する理由の1つは、非常に悪い考えです。変数を宣言するときは、常にを使用varしてください。グローバルではなくなります。

var confirm = window.confirm("Nutzer wirklich löschen?");

同じことがに当てはまりますUser。次のように宣言する必要があります。

var User = $(this).attr("data-link");
于 2013-03-11T09:35:39.433 に答える
0

これを試して:

jQuery(".delUser").click(function(){       
User = $(this).attr("data-link");

if(window.confirm("Nutzer wirklich löschen?")){

        jQuery.ajax({
        type: "POST",
        url: "/Admin/DelUser.php",
        data: { where: User },
        success: function(retData){
                jQuery.noticeAdd({text: "" + retData + "",
                stay: false, 
                type: 'error'
            });                             
            }
        }); 
        $(this).closest('tr').remove(); 

        } else {
               talk("Nutzer wurde nicht gelöscht");
        }         
});
于 2013-03-11T09:38:04.427 に答える