Question

Comment écrire une boîte de dialogue de confirmation en javascript avec des choix personnalisés?

Au lieu de juste "Ok" et "Annuler", j'aimerais avoir par exemple "Ceci". " Cela " et "Autre".

Était-ce utile?

La solution

En bref, vous ne pouvez pas.

Vous voudrez peut-être envisager d'utiliser quelque chose comme une boîte de dialogue jQuery UI à la place.

Autres conseils

Vous pouvez demander à l'utilisateur une réponse en utilisant:

var userChoice = prompt("Question");

Vous pouvez boucler cette phrase jusqu'à ce que l'utilisateur entre une réponse parmi les réponses valides.

Vous ne pouvez pas. Utilisez une bibliothèque javascript UI (jQuery UI, YUI, Mootools) et imitez le dialogue dont vous avez besoin.

// custom Confirm builder
function OnConfirm(text, func) {

    var _confirm = $('<div/>').addClass('confirm');
    _confirm.append($('<h2/>').text(text));

    _confirm.append('<br/><br/>');

    var _btnCancel = $('<input/>').attr('type', 'button').val('cancel')
        .bind('click', function () {
            $(this).parent('.confirm').hide();
            func(false);
        });

    var _btnApply = $('<input/>').attr('type', 'button').val('OK')
        .bind('click', function () {
            $(this).parent('.confirm').hide();
            func(true);
        });

    _confirm.append(_btnCancel);
    _confirm.append(_btnApply);
    $('body').append(_confirm);
}

$(function () { // documen.loaded
    $('#testLink').click(function (e) {
        e.preventDefault(); ;
        var _href = $(this).attr('href');
        var _title = $(this).attr('title');
        // call custom confirm function with callback function
        OnConfirm(_title, function (_isContinue) {               
                if (_isContinue) {
                    location.href = _href;
                }
            }
        );
    });
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top