Question

Tout d'abord, je dois mentionner que je passe toute la journée à chercher et que je n'arrive pas à comprendre ce qui ne va pas avec mon code et pourquoi il ne fonctionne pas...

J'ai besoin d'une boîte de dialogue modale pour confirmer mon code, j'utilise donc cette boîte de dialogue modale jQuery : JQuery Confirmer

Ce dont j'ai besoin, c'est d'intégrer cette fonctionnalité avec un <asp:Button>...

Mon problème est que lorsque je clique sur le bouton, la boîte de dialogue apparaît mais les boutons oui/non ne fonctionnent pas et les deux disparaissent simplement de la boîte de dialogue.

J'utilise aussi le code ci-dessous mais __doPostBack() n'a rien fait du tout mais il exécute parfaitement des codes js simples comme alert(''):

$("#complexConfirm").confirm({
     title: "Redirect confirmation",
     text: "This is very dangerous, you shouldn't do it! Are you really really sure?",
     confirm: function (button) {
         __doPostBack('complexConfirm', 'OnClick');
     },
     cancel: function (button) {
         return false;
     },
     confirmButton: "Yes",
     cancelButton: "No"
});

Je recherche et dialogue car l'élément vient en dehors de l'élément de formulaire, je devrais donc le ramener au formulaire mais je ne sais pas comment j'essaie le code ci-dessous et ce n'est pas le cas.

$("#editEventModal").parent().appendTo(jQuery("form:first"));

Un autre problème est que j'essaie de publier avec un événement javascript sans la boîte de dialogue, j'utilise 2 boutons, un pour appeler javascript et un autre pour appeler cela, mais lorsque j'utilise __doPostBack, il actualise la page mais n'arrive pas à mon événement de bouton dans le code -derrière, j'essaie plusieurs façons d'appeler l'événement onClick du bouton mais cela rafraîchit simplement la page et n'appelle pas mon bouton OnClick Mehtod !!!

La déclaration des boutons ressemble à ceci :

<asp:Button ID="complexConfirm" ClientIDMode="Static" runat="server" OnClick="TestBTN_Click" Text="Test" />
<asp:Button ID="checkit" ClientIDMode="Static" runat="server" OnClientClick="__doPostBack('<%=complexConfirm.UniqueID%>', '');" Text="CHECK" />

Que dois-je faire pour ces deux problèmes ?

Je cherche beaucoup et aucune des solutions n'a fonctionné pour moi !!!

J'apprécierai toute solution, merci.

Était-ce utile?

La solution

Sans connaître la déclaration de votre asp:button, voici ma meilleure hypothèse.

Vous devez utiliser l'ID unique du bouton, l'attribut "name" du bouton, et non son ID.

__doPostBack('<%=complexConfirm.UniqueID%>', '');

De plus, puisqu'il s'agit d'un bouton, vous n'avez pas réellement besoin de spécifier OnClick.

MODIFIER:J'ai créé un exemple fonctionnel démontrant ce que je pense que vous essayez d'accomplir.Vous pouvez adapter cela à votre confirmation jQuery selon vos besoins.

aspx :

<asp:Button ID="btnTest1" runat="server" Text="Test1" OnClick="btnTest1_Click" />

javascript :

<script>
    $('#<%=btnTest1.ClientID%>').confirm({
        text: "This is very dangerous, you shouldn't do it! Are you really really sure?",
        title: "Confirmation required",
        confirm: function (button) {
            // do something
            __doPostBack('<%= btnTest1.UniqueID%>', '');
        },
        cancel: function (button) {
            // do something
        },
        confirmButton: "Yes I am",
        cancelButton: "No",
        post: true
    });
</script>

code derrière :

protected void btnTest1_Click(object sender, EventArgs e)
{
    Response.Write("You clicked YES");
}

Je pense qu'une partie du problème était que le nom de votre événement n'était pas nommé avec le nom de votre bouton.Si vous utilisez autoEventWireup, ce que je pense, votre événement ne se déclenchera pas car il ne trouvera pas d'événement avec un nom correspondant.

Donc, la première chose que j’ai faite a été d’éliminer le StaticClientID.vous pouvez toujours utiliser jquery avec les identifiants générés par asp.net.Ensuite, je me suis assuré que l'événement était nommé btnTest1_Click parce que le nom du bouton est btnTest1

Je ne sais pas pourquoi vous aviez besoin de l'autre bouton, car il semble que tout ce que vous essayez de faire est de confirmer avant que le bouton ne soit soumis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top