2009-04-01 9 views
4

나는 클라이언트 측에서 팝업을 표시하는 방법을 이해하기 위해 여러 웹 리소스를 따라, 나는이 코드를 만들어 : 그것은 꽤 잘 작동했다 왜 ModalPopupExtender가 자바 스크립트를 통해 표시되지 않습니까?

<asp:ImageButton runat="server" ID="btnOk" ImageUrl="imagens/btnAlterar.gif" OnClientClick="btnOkClick()" /> 

<asp:LinkButton runat="server" ID="dummyForPopup" Visible="false"/> 

<ajaxToolKit:ModalPopupExtender runat="server" BehaviorID="btnOkPopupBehavior" ID="MPXtender" TargetControlID="dummyForPopup" PopupControlID="pnlUpdateUserModal" BackgroundCssClass="modalBackground" OkControlID="btnCloseRequestUserUpdate" OnOkScript="userUpdReq_onOk()" /> 


function btnOkClick() 
{ 
    if(validateAll()) 
    { 
     var behavior = $find('btnOkPopupBehavior'); 
     if (behavior) 
     { 
      behavior.show(); 
     } 
     else 
     { 
      var lblOutput = $get('<%= lblOutput .ClientID %>'); 
      lblOutput .innerText = 'Couldn't find popup'; 
     } 
    } 
} 

이전에 내가 OK 버튼에 링크 된 모달 팝업을 가지고 있습니다. 이제 팝업을 열기 전에 유효성 검사가 필요합니다.이 코드는 작동하지 않습니다./

+0

덕분에 많은 친구가되었습니다. 내 문제 때문에 해결되었습니다 ... –

답변

6

1) 더미 버튼이 표시되어야합니다. 그렇지 않으면 자바 스크립트가 제대로 작동하지 않습니다. 따라서 visible = true로 설정하고 CSS를 사용하지 마십시오.

<asp:LinkButton runat="server" 
ID="dummyForPopup" style 
="display:none" Visible="true" /> 

2) lblOutput .innerText = '팝업을 찾을 수 없습니다.'; 자바 스크립트 오류입니다. 그것을 변경해야합니다 : "팝업을 찾을 수 없습니다"; (또는 &apos;)

3) OnClientClick = "btnOkClick()"은 실제로 다음과 같이 말합니다. OnClientClick = "btnOkClick(); false를 반환합니다."

4) 페이지에서 다른 javascript 오류가 있는지 확인하십시오. 해당 오류가 제대로 작동하지 않을 수 있습니다.

+0

감사합니다, 아퀴나스, 효과가있었습니다! ;) –

관련 문제