2017-05-05 2 views
0

하위 페이지에서 기본 페이지의 함수를 호출해야합니다. 아래에는 2 페이지가 있습니다. 1. main.aspx 및 하위 페이지는 2.active.aspx입니다. active.aspx에서 "exit"라는 버튼이 있습니다. exit 버튼을 클릭하면 모달 팝업을 닫은 다음 기본 페이지에서 자바 스크립트 함수 인 "main"함수를 호출해야합니다. 나는 자식 페이지에서 함수를 호출 할 수 없습니다입니다.자식 페이지에서 부모 페이지의 javascript 함수 호출

Main.aspx

<html> 
<head> 
    <script type="text/javascript"> 
     function main() { 
      //do main work 
     } 
    </script> 
</head> 
<body> 
    <div> 
     <input type="button" class="ic-grid-encode center-btn" title="Interactive" 
       data-toggle="modal" data-target="#divInterActiveContent" /> 
    </div> 
    <div class="modal fade" id="divInterActiveContent" tabindex="-1" role="dialog"> 
     <div class="modal-dialog" role="document" align-self="" center;"=""> 
      <iframe id="interId" src="active.aspx"></iframe> 
     </div> 
    </div> 
</body> 
</html> 

Active.aspx

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> 
    <link href="../Content/bootstrap.css" rel="stylesheet"> 
    <script src="../Scripts/jquery-3.1.1.js"></script> 
    <script src="../Scripts/bootstrap.js"></script> 
    <script src="../Scripts/knockout-3.4.2.js"></script> 
    <script src="../Scripts/jquery-ui-1.12.1.min.js"></script> 
    <script type="text/javascript"> 
     self.btnExit = function() { 
      parent.$('#divInterActiveContent').modal('hide'); 
      //after closing the popup i need to call the javascript function defined in the main page 
      //i.e i need call function main which is there in the main window. 
     } 
    </script> 
</head> 
<body> 
    <form id="frmInterActiveEncode"> 
     <div class="container"> 
      <div class="row" style="margin-top: 10px;"> 
      </div> 
      <hr> 
      <br> 
      <hr> 
      <div class="row"> 
       <input type="button" value="Submit" class="btn btn-primary" data-bind="event: { click: btnSubmit }"> 
       <input type="button" value="Exit" class="btn btn-primary" data-bind="event: { click: btnExit }"> 
      </div> 
     </div> 
    </form> 
</body> 
</html> 

답변

0

시나리오에서 실제로 모달을 닫는 중입니다. 즉, 모달을 닫은 후에 하위 페이지에서 상위 개체를 가져올 수 없도록 iframe을 닫는 것입니다. 당신은

active.aspx처럼

을해야

self.btnExit = function() { 
    parent.main(); 
} 

main.aspx

function main(){ 
    $('#divInterActiveContent').modal('hide');   
    // Do your stuff 
} 

상위 함수를 호출하는 대신 아이를 감추기 모달을 숨기는 수있는이 방법 부모 기능과 당신이하고 싶은 다음 물건.

+0

http://stackoverflow.com/questions/2379529/how-to-call-a-function-within-document-ready-from-outside-it –