2012-07-13 3 views
0

J'utilise la boîte de dialogue jquery. Lorsque je clique sur le bouton contextuel est ouvert mais il retourne vrai et excute l'événement côté serveur du bouton.Toujours retourner vrai lorsque vous cliquez sur le bouton lors de l'utilisation jquery dialogue

Je veux quand l'utilisateur clique sur oui puis retourne vrai et sinon retourne faux.

function btnCancelClick() 
      { 
       $("#dialog:ui-dialog").dialog("destroy"); 

       $("#dialog-confirm").dialog({ 
        resizable: false, 
        height: 140, 
        width: 400, 
        modal: true, 
        buttons: { 
         "Yes": function() 
         {      
          $(this).dialog("close"); 
            return true; 
         }, 
         No: function() 
         {      
          $(this).dialog("close"); 
           return false; 
         } 
        } 

       });    
      } 

    <asp:Button ID="btnCancel" runat="server" Text="Cancel Appointment" CssClass="cssbutton" 
            OnClientClick="return btnCancelClick();" OnClick="btnCancel_Click" /> 

Répondre

2

Vous ne pouvez pas return d'une boîte de dialogue.

Vous devez utiliser une fonction de rappel.

$("#dialog-confirm").dialog({ 
    resizable: false, 
    height: 140, 
    width: 400, 
    modal: true, 
    buttons: { 
     Yes: function() { 
      $(this).dialog("close"); 
      clickedYes(); //YES CALLBACK 
     }, 
     No: function() { 
      $(this).dialog("close"); 
      clickedNo(); //NO CALLBACK 
     } 
    } 
}); 
+0

clickedOui(); cliquéNo(); pas du tout défini en javascript – John

+0

@John oy ... définissez-les! – Neal

+0

dois-je écrire return true et return false respectivement pour la méthode ou quoi ??? – John

1

Mettez à jour votre méthode btnCancelClick pour toujours retourner false. Ensuite, dans les gestionnaires de boutons de dialogue, au lieu de retourner vrai ou faux faire votre postback là.

function btnCancelClick() { 
    $("#dialog:ui-dialog").dialog("destroy"); 

    $("#dialog-confirm").dialog({ 
     resizable: false, 
     height: 140, 
     width: 400, 
     modal: true, 
     buttons: { 
      "Yes": function() { 
       $(this).dialog("close"); 
       <%=ClientScript.GetPostBackEventReference(btnCancel, "")%>; 
      }, 
      No: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
    return false; 
} 

Cette ligne:

<%=ClientScript.GetPostBackEventReference(btnCancel, "")%>

enregistrera l'appel javascript postback dans votre méthode btnCancelClick.

+0

Voici un violon qui a une alerte javascript où l'ASP .NET postback irait: http://jsfiddle.net/GZFyz/1/ –

+0

u ajouter return false à la fin de la fonction il retourne toujours false doesnot postback – John

+0

lors de l'ajout <% = ClientScript.GetPostBackEventReference (btnCancel, "")% >; erreur générant – John

Questions connexes