-1

Jquery.ready javascriptsにロードするページコンテンツを初めてロードするときは、ajaxを使用していくつかのことを実行し、ページを再度ロードしようとすると、ロードしようとする2番目のページでjavascriptが機能しません。live()/メソッドを使用してこの問題を解決しようとしましon()たが、機能しませんでした。

$(document).ready(function () {
    $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx");
});

$('#btnekleme').live('click', function () {
    $.ajax({
        type: "POST",
        url: "/Panel/MusteriSource/mus_kisiadd.aspx/mus_kisi_kaydet",
        data: "{ad:'" + $.trim($("#txtalt_mus_adi").val()) + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        cache: false,
        before: $("#btnekleme").hide(),
        success: function (msg) {
            if (msg.d == "ok") {
                $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx");
            } else $("#loaded").html(msg.d).show(500);
        },
        error: function (x, e) {
            alert("The call to the server side failed. " + x.responseText);
        }
    });
}
4

2 に答える 2

1

liveは非推奨であるため、on()委任されたイベントを使用します。最も近い静的な親に委任します。(これは問題ではないかもしれませんが、近い将来jqueryを更新する場合に備えて、将来的にon()を使用しても安全です...)。詳細については、こちらのリンクをご覧くださいon()

 $(document).on('click','#btnekleme', function () {.. //using closest static parent element is preferred here than the document

そして、あなたはajaxのオブジェクトとしてデータを送ることができます

var inputValue= $.trim($("#txtalt_mus_adi").val());
data: {ad:inputValue},
于 2013-03-23T17:23:05.773 に答える
0

すべての回答をありがとうございました。私はそのようにそれをしました私はちょうど私がその機能を実行するときにkontrolet()である関数を作りましたそれは私が望むようにうまく機能します。

      $(document).on('click', '#btnekleme', function () {
                    $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx");
                });

 function kontrolet() {
         $.ajax({
                            type: "POST",
                            url: "/Panel/MusteriSource/mus_kisiadd.aspx/mus_kisi_kaydet",
                            data: "{ad:'" + $.trim($("#txtalt_mus_adi").val()) + "'}",
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            async: true,
                            cache: false,
                            before: $("#btnekleme").hide(),
                            success: function (msg) {
                                if (msg.d == "ok") {
                                    $("#grupyonetimarea").load("/Panel/MusteriSourcePages/mus_grup_add.aspx");
                                    alert("Kayıt işlemi başarılıdır.!");
                                    TextArealariClearET();
                                    $("#btnekleme").show();
                                }
                                else
                                    $("#loaded").html(msg.d).show(500);
                            },
                            error: function (x, e) {
                                alert("The call to the server side failed. " + x.responseText);
                            }
                        });
        }
于 2013-03-23T19:16:04.237 に答える