0

リフレッシュのために更新パネルが起動される前に、jQuery 関数を実行したいと思います。この更新は多くのボタンやその他の方法で実行できるため、送信ハンドラーなどを使用することを望んでいましたが、機能しませんでした。

イベントをメインフォームに添付するためにこれを試しました:

jQuery('form').submit(function () { alert('submit!'); });

また、これを更新パネルに添付します

jQuery('#pnlContent').submit(function () { alert('submit!'); });

誰でもこれを行う方法を知っていますか?

4

3 に答える 3

3

これは私にとってはうまくいきました。ここでアイデアを得ました。基本的に、更新前に実行する関数と更新後に実行する関数を定義します。次に、これらの関数をページ要求マネージャーで実行するように登録します。

<script type="text/javascript">
    /* Put your code to run before UpdatePanel begins async postback here */
    function beforeAsyncPostBack() {
        var curtime = new Date();
        alert('Time before PostBack:   ' + curtime);           
    }

    /* Put your code to run after UpdatePanel finishes async postback here */
    function afterAsyncPostBack() {
        var curtime = new Date();           
        alert('Time after PostBack:    ' + curtime);
    }

    /* Don't mess with any of the below code */
    Sys.Application.add_init(appl_init);

    function appl_init() {
        var pgRegMgr = Sys.WebForms.PageRequestManager.getInstance();
        pgRegMgr.add_beginRequest(beforeAsyncPostBack);
        pgRegMgr.add_endRequest(afterAsyncPostBack);
    }      
</script>
于 2015-08-26T19:50:46.093 に答える
0

onsubmit="return check();" を使用できます 知らせる。このようなフォームを送信する前に、この機能をチェックします。

function check(){
   // do javascript code
   // after check your javascript
   document.getElementById("frm1").submit();
}

HTML :

<form id="frm1" action="#" onsubmit="return check();">
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    <input type="submit" name="submit" value="Submit form">
</form>
于 2013-02-12T14:33:01.463 に答える
0
function PageLoad()
{
    if (!window.Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack())
    {
        window.Sys.WebForms.PageRequestManager.getInstance().add_endRequest( AjaxEnd );
        window.Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest( AjaxBegin );
    }
}

function AjaxEnd()
{
    alert("AjaxEnd");
}

function AjaxBegin()
{
    alert("AjaxBegin");
}
于 2013-02-12T14:58:35.337 に答える