2009-04-01 10 views
4

J'ai suivi plusieurs ressources Web pour comprendre comment afficher un popup de côté client, et je fait ce code:Pourquoi ModalPopupExtender ne s'affiche pas via 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'; 
     } 
    } 
} 

auparavant j'avais le menu contextuel modal lié au bouton ok, il fonctionnait assez bien. Maintenant j'ai besoin d'une validation avant d'ouvrir le popup, et ce code ne fonctionne plus anylonger =/

+0

merci beaucoup mon pote .. à cause de moi j'ai résolu mon problème ... –

Répondre

6

1) Votre bouton factice doit être visible = true, sinon le javascript ne fonctionne pas correctement. Alors VISIBLE = true, mais aucun avec disaply css:

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

2) lblOutput .innerText = 'Impossible de trouver pop-up'; est une erreur javascript. Vous devez le changer en: "Impossible de trouver le popup"; (ou utiliser &apos;)

3) OnClientClick = "btnOkClick()" devrait vraiment dire: OnClientClick = "btnOkClick(); return false;"

4) Recherchez les autres erreurs javascript sur votre page, car celles-ci arrêteront le popup correctement.

+0

Merci, aquinas, ça a marché! ;) –

Questions connexes