2013-02-12 2 views
0

업데이트 패널이 새로 고쳐지기 전에 jQuery 함수를 실행하고 싶습니다. 이 새로 고침은 많은 버튼과 다른 방법으로 수행 할 수 있으므로 제출 처리기 또는 그와 비슷한 것을 사용하고 싶었지만 작동하지 않았습니다.패널 업데이트를 업데이트하기 전에 javascript 함수를 실행하는 방법

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

또한이

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

사람이 작업을 수행하는 방법을 알고 업데이트 패널에 부착 :

나는이 기본 폼에 이벤트를 첨부하려고?

+0

'UpdatePanel'양식은 정상적으로 "제출"되지 않습니다. 아약스를 통해 "제출"되어 해당 이벤트가 실행되지 않습니다. – Chad

+0

@Chad 그래서 대신 무엇을 사용할 수 있습니까? –

답변

3

이 나를 위해 일했다. 아이디어는 here입니다. 기본적으로 업데이트 전에 실행될 함수와 이후에 실행할 함수를 정의합니다. 그런 다음 해당 기능을 페이지 요청 관리자와 함께 실행하도록 등록합니다.

<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> 
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> 
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"); 
} 
관련 문제