Пользовательский выбор в диалоговом окне подтверждения JavaScript - PullRequest
19 голосов
/ 26 ноября 2009

Как написать диалог подтверждения в javascript с пользовательскими настройками?

Вместо просто «ОК» и «Отмена» я хотел бы иметь, например, «Это», «То» и «Другое».

Ответы [ 4 ]

17 голосов
/ 26 ноября 2009

Короче, вы не можете.

Возможно, вы захотите рассмотреть возможность использования чего-то вроде диалогового окна jQuery UI .

4 голосов
/ 08 июня 2013

Вы можете запросить у пользователя ответ, используя:

var userChoice = prompt("Question");

Вы можете зациклить это предложение, пока пользователь не введет ответ в пределах допустимых.

2 голосов
/ 26 ноября 2009

Вы не можете. Используйте библиотеку javascript UI (jQuery UI, YUI, Mootools) и имитируйте необходимый диалог.

1 голос
/ 13 августа 2015
// 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;
                }
            }
        );
    });
});
...