0

私のasp.netアプリケーションにはマスターページと他のいくつかのページがあり、そのページにボタンと削除ボタンを追加しました.この削除ボタンのために、私のコードビハインドに削除メソッドを書きました. しかし、この削除機能が起動する前に、削除確認ボックスを表示する必要があります。このために、フォルダーのcustom.js下にある名前のjQueryファイルに削除確認メソッドを記述Jsし、マスターページでこのjsファイルを参照しています

<script src="/Js/custom.js" type="text/javascript"></script>

このcustom.jsでは、custom.jsのpageInitの下に削除確認メソッドを書きました

function pageInit(){
$(".delete").click(function (event) {
    confirmationBox(event);
    });
}

function confirmationBox(event) {

var r = confirm("You are about to delete some items. Click Ok to continue");
if (r == true) {
    $(document).submit();
}
else {
    event.preventDefault();
}
}

スクリプトでは、クラス名を削除のように使用しています

<asp:Button ID="btnDelete" class="delete" Text="Delete"/>

スクリプトからjsファイルを次のように呼び出しています

<script type="text/javascript">
 $(document).ready(function () {
     pageInit();
 });
 </script>

しかし、この削除確認メソッドはまったく起動していません。このクエリの何が問題なのですか。誰か助けてください.....

4

3 に答える 3

2

$(document).ready() 内にその削除関数が必要です。

$(document).ready(function() {
   // put all your jQuery goodness in here.
 });
于 2012-04-26T04:51:05.650 に答える
1

削除ボタンコントロールはマスターページ内にあります。削除ボタンを参照するには、この構文input [id $=btn_delete]を使用します。document.ready関数でボタンクリックイベントをバインドします。次のコードは私のために働いた。

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<asp:Button ID="btn_delete" runat="server" Text="Delete Confirmation" 
    onclick="btn_delete_Click" />



    <script type="text/javascript">

        $(document).ready(function () {

            $('input[id$=btn_delete]').click(function (event) {
                confirmationBox(event);
            });
        });

    function confirmationBox(event) {

        var r = confirm("You are about to delete some items. Click Ok to continue");
        if (r == true) {
            $(document).submit();
        }
        else {
            event.preventDefault();
        }
    }
    </script>

于 2012-04-26T05:19:10.970 に答える
1

実行していることを実装する別の方法OnClientClickは、ASP.NET ボタンのイベントを使用することです。

<asp:Button 
     ID="btnDelete" 
     class="delete" 
     Text="Delete" 
     OnClientClick="return confirmationBox()" />


function confirmationBox() {
    var r = confirm("You are about to delete some items. Click Ok to continue");
        if (r) {
            return true;
        }
        else {
            return false;
        }
    }

そして、それはそれを行う必要があります:)

[更新]残念ながら、関数
に return を含めるのを忘れていました。OnClientClick確認でキャンセルを選択すると、returnポストバックが発生しなくなります。

于 2012-04-26T05:13:31.607 に答える