2010-11-23 7 views
1

Ich brauchte ein Popup, das mit einer JavaScript-Funktion entschieden werden sollte. Ich erhalte kein Popup, wenn ich die folgende Funktion verwende. Ich glaube, ich mache irgendwo einen Fehler. Könnte jemand darauf hinweisen, was es ist?Zwei Popups auf einem einzigen Knopf mit einer Bedingung

Die Schaltfläche speichern ruft die JavaScript-Funktion

<asp:ImageButton ID="btnSave" runat="server" CausesValidation="true" OnClientClick="isPageValid();return false;" ImageUrl="~/images/green-save.gif" 
         OnClick="btnSave_Click" TabIndex="22" ValidationGroup="groupProfile" /></td> 

function isPageValid() 
{ 

var validated = Page_ClientValidate('groupProfile'); 
var loccount = document.getElementById('txthiddenloccount').value; 

if(validated) 
{ 
    if(loccount = "1") 
    { 
     var mdlPopup = $find('<%= ModalPopupExtendersavechanges.ClientID %>'); 
    } 
    else 
    { 
     var mdlPopup = $find('<%= ModalPopupExtenderMerchantUpdate.ClientID %>'); 
    } 
    if(mdlPopup) 
    { 
     mdlPopup.show();   
    } 
} 
} 


<cc1:ConfirmButtonExtender DisplayModalPopupID="ModalPopupExtenderMerchantUpdate" ID="ConfirmButtonExtenderMerchantUpdate" 
    OnClientCancel="ManageCancel()" runat="server" TargetControlID="btnHidden"> 
</cc1:ConfirmButtonExtender> 
<cc1:ModalPopupExtender ID="ModalPopupExtenderMerchantUpdate" runat="server" BackgroundCssClass="modalBackground" 
    CancelControlID="btnCancel" PopupControlID="pnlPopupMerchantUpdate" TargetControlID="btnHidden"> 
</cc1:ModalPopupExtender> 

         <asp:Button ID="btnYesMerchant" Text ="Yes" runat="server" class="popupButton" causesvalidation="true" OnClientClick="$find('mdlpop').hide(); return true;" onclick="btnYessave_Click"/> 
         <asp:Button ID = "btnNoMerchant" Text ="No" runat ="server" class="popupButton" causesvalidation="true" OnClientClick="$find('mdlpop').hide(); return true;" onclick="btnNosave_Click"/> 
         <asp:Button Id="btnCancel" Text ="Cancel" runat="server" class="popupButton" />        

Und das zweite ist

<cc1:ConfirmButtonExtender DisplayModalPopupID="ModalPopupExtendersavechanges" ID="ConfirmButtonExtendersavechanges" 
    OnClientCancel="ManageCancel()" runat="server" TargetControlID="btnHidden"> 
</cc1:ConfirmButtonExtender> 
<cc1:ModalPopupExtender ID="ModalPopupExtendersavechanges" runat="server" BackgroundCssClass="modalBackground" 
    CancelControlID="btnNo" OkControlID="btnYes" PopupControlID="pnlPopupsaveChanges" TargetControlID="btnHidden"> 
</cc1:ModalPopupExtender> 

<asp:Button ID="btnYes" Text ="YES" runat="server" class="popupButton" causesvalidation="true" onclick="btnSave_Click"/> 
         <asp:Button Id="btnNo" Text ="NO" runat="server" class="popupButton" />  
+0

Können Sie das Markup für die ModalPopupExtenders posten? –

+0

Ich habe mehr Code hinzugefügt. :) Wo mache ich mich falsch? – Ram

Antwort

0

Eigentlich möchten Sie das Verhalten des ModalPopupExtender zeigen, nicht den Extender selbst. Versuchen Sie, ein BehaviorID Attribut zu jedem ModalPopupExtender hinzufügen, dann verwenden Sie folgende JQuery-Code:

if(loccount == "1") 
    { 
     var mdlPopup = $find('ModalPopupExtenderSaveChangesBehaviorID'); 
    } 
    else 
    { 
     var mdlPopup = $find('ModalPopupExtenderMerchantUpdateBehaviorID'); 
    } 
    if(mdlPopup) 
    { 
     mdlPopup.show();   
    } 
+0

Was sollte wirklich in die BehaviourID Eigentum gehen. Ich habe das vorher nicht benutzt :( – Ram

+0

@Ram jede ID, die auf keiner anderen Komponente der Seite gefunden wird (zB eine eindeutige ID), wie "ModalPopupSaveChangesBehavior" –

+0

Vielen Dank für die Geduld, aber es hat immer noch die Problem. Es speichert direkt. Ich denke, ich habe ein Problem mit var loccount = document.getElementById ('txthiddenloccount'). Wert; Denkst du so ?? – Ram

1
if(loccount = "1") 

Sieht aus wie wir ein Problem mit dem Gleichheitszeichen Kapitän haben. = != ==

Verwandte Themen