2009-04-01 3 views
4

Я последовал за несколько веб-ресурсов, чтобы понять, как показать всплывающее окно со стороны клиента, и я сделал этот код:Почему ModalPopupExtender не отображается через javascript?

<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'; 
     } 
    } 
} 

ранее я имел модальное всплывающее окно, связанное с кнопкой ОК, она работает очень хорошо. Теперь мне нужно некоторое подтверждение, прежде чем открывать всплывающее окно, и этот код не работает anylonger =/

+0

спасибо много приятеля .. из-за u я решил свою проблему ... –

ответ

6

1) Ваша фиктивная кнопка должна быть видимой = true, в противном случае javascript не работает должным образом. Так установить Visible = верно, но disaply ни с CSS:

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

2) lblOutput .innerText = 'Не удалось найти всплывающее окно'; является ошибкой javascript. Вам нужно изменить его на: «Не удалось найти всплывающее окно»; (или использовать &apos;)

3) OnClientClick = "btnOkClick()" должен действительно сказать: OnClientClick = "btnOkClick(); return false;"

4) Ищите любые другие ошибки javascript на своей странице, потому что они автоматически остановят всплывающее окно.

+0

Спасибо, aquinas, это сработало! ;) –

Смежные вопросы