Custom choices in JavaScript confirm dialog

后端 未结 4 1372
情深已故
情深已故 2020-11-27 22:22

How to write a confirm dialog in JavaScript with custom choices?

Instead of just "Ok" and "Cancel", I would like to have for example "This&qu

相关标签:
4条回答
  • 2020-11-27 22:50

    You could ask the user for an answer using:

    var userChoice = prompt("Question");
    

    You could loop that sentence until the user enters an answer within the valid ones.

    0 讨论(0)
  • 2020-11-27 22:52

    You can't. Use some javascript UI (jQuery UI, YUI, Mootools) library and mimic a dialog you need.

    0 讨论(0)
  • 2020-11-27 23:00

    In short, you can't.

    You might want to consider looking into using something like a jQuery UI dialog instead.

    0 讨论(0)
  • 2020-11-27 23:00
    // 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;
                    }
                }
            );
        });
    });
    
    0 讨论(0)
提交回复
热议问题