137 votes

Oui ou Non confirmer la boîte à l'aide de jQuery

Je veux oui/Non les alertes à l'aide de jQuery, au lieu de ok/Annuler bouton:

jQuery.alerts.okButton = 'Yes';
jQuery.alerts.cancelButton = 'No';                  
jConfirm('Are you sure??',  '', function(r) {
    if (r == true) {                    
        //Ok button pressed...
    }  
}

D'autres alternatives?

140voto

ThulasiRam Points 3795
$('<div></div>').appendTo('body')
    .html('<div><h6>Are you sure?</h6></div>')
    .dialog({
        modal: true,
        title: 'Delete message',
        zIndex: 10000,
        autoOpen: true,
        width: 'auto',
        resizable: false,
        buttons: {
            Yes: function () {
                // $(obj).removeAttr('onclick');                                
                // $(obj).parents('.Parent').remove();

                $(this).dialog("close");
            },
            No: function () {
                $(this).dialog("close");
            }
        },
        close: function (event, ui) {
            $(this).remove();
        }
    });

pour la Démo :

138voto

Ana El Bembo Points 127

L'alerte méthode bloque l'exécution jusqu'à ce que l'utilisateur la ferme:

utiliser le confirmer fonction:

if (confirm('Some message')) {
    alert('Thanks for confirming');
} else {
    alert('Why did you press cancel? You should have confirmed');
}

71voto

user3678239 Points 41

J'ai utilisé ces codes:

HTML:

<a id="delete-button">Delete</a>

JQUERY:

<script>
$("#delete-button").click(function(){
    if(confirm("Are you sure you want to delete this?")){
        $("#delete-button").attr("href", "query.php?ACTION=delete&ID='1'");
    }
    else{
        return false;
    }
});
</script>

Ces codes fonctionne pour moi, mais je ne suis pas vraiment sûr si c'est bon. Qu'en pensez-vous?

28voto

Matthieu Napoli Points 9453

Jetez un oeil à ce plugin jQuery: jquery.confirmer.

<a href="home" class="confirm">Go to home</a>

et puis:

$(".confirm").confirm();

Cela fera apparaître une fenêtre de confirmation avant de continuer à suivre le lien.

Il y a une démo ici: http://myclabs.github.com/jquery.confirm/

13voto

MSquared Points 76

Tous les exemples que j'ai vu ne sont pas réutilisables pour les différents "oui/non" type de questions. Je cherchais quelque chose qui me permettrait de spécifier un rappel afin que je puisse appeler pour n'importe quelle situation.

La suivante est ce qui marche bien pour moi:

$.extend({ confirm: function (title, message, yesText, yesCallback) {
    $("<div></div>").dialog( {
        buttons: [{
            text: yesText,
            click: function() {
                yesCallback();
                $( this ).remove();
            }
        },
        {
            text: "Cancel",
            click: function() {
                $( this ).remove();
            }
        }
        ],
        close: function (event, ui) { $(this).remove(); },
        resizable: false,
        title: title,
        modal: true
    }).text(message).parent().addClass("alert");
}
});

Je puis l'appeler comme ceci:

var deleteOk = function() {
    uploadFile.del(fileid, function() {alert("Deleted")})
};

$.confirm(
    "CONFIRM", //title
    "Delete " + filename + "?", //message
    "Delete", //button text
    deleteOk //"yes" callback
);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X