コードビハインドとAjaxからJquery関数を呼び出す

最初に私のシナリオについて説明します:

私はユーザーがログインまたは登録するページを持っています。ログインコントロールとレジスタテキストボックスは2つの異なるdivにあり、jQueryを使用して1つを隠して別のものを表示します。

次に register divに ScriptManager UpdatePanel があり、そのコンテンツテンプレートの中に check 与えられたユーザ名がまだ選択されていないことを確認する。 (私はポストバックが欲しくないので、そこに持っています)。

今私はこれをコード化したい:

ボタンイベントがユーザー名を確認した後、jQuery関数を呼び出して他のすべてのテキストボックスが含まれているdivを表示する必要があります。

<script type="text/javascript">
$(document).ready(function() {
    var ide = $("#reg");
    var log = $("#login");
    var reg = $("#register");
    var regfull = $("#regfull");
    reg.hide();
    regfull.hide();

    ide.click(function() {
        log.fadeOut().delay(1000);
        reg.show("slow");
    });
    function completereg() {
        regfull.show();
    }
});

これは私のjQueryであり、 completereg(); をコードビハインドボタンonclickイベントから呼び出すと、私のボタンは UpdatePanel にあります。

0

1 答え

まず、関数を $(document).ready()ブロックの外に移動する必要があります。

$(document).ready(function() {
    var ide = $("#reg");
    var log = $("#login");
    var reg = $("#register");
    var regfull = $("#regfull");
    reg.hide();
    regfull.hide();

    ide.click(function() {
        log.fadeOut().delay(1000);
        reg.show("slow");
    });
});

function completereg() {
    $("#regfull").show();
}

次に、 $(document).ready()ブロックに次のコードを追加して、クリックをリッスンして completereg 関数を実行します。

$(document).on('click','#idofbutton',function(event) {
    completereg();
});

What the on function does is listen for clicks on the target (document) and checks the id (#idofbutton) of the trigger and performs the funciton ... this works for elements not yet added to the DOM. Documentation for on() here

ターゲット(この場合は document )はトリガー要素の親要素でなければなりません。これは本当に包含divでなければなりません。

0
追加された
@ user1105338あなたの質問にあなたのHTMLを追加し、あなたのjavascriptをすべて追加するか、 jsfiddle.net を作成してください。
追加された 著者 ManseUK,
こんにちはありがとうございますが、事があります...私はタイプAJAXであるボタンをjitし、document.readyがないので、私のコードをリテラルに渡すのがなぜ今働いていないのですか?jqueryを動作させる方法document.readyイベントは起こっていませんか?
追加された 著者 user1105338,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript