Domanda

Come scrivere una finestra di conferma in javascript con scelte personalizzate?

Invece di solo " Ok " e " Annulla " ;, vorrei avere ad esempio " Questo " & Quot; That " e " Altro " ;.

È stato utile?

Soluzione

In breve, non puoi.

Potresti prendere in considerazione l'idea di utilizzare qualcosa come una finestra di dialogo dell'interfaccia utente jQuery invece.

Altri suggerimenti

Puoi chiedere all'utente una risposta usando:

var userChoice = prompt("Question");

Puoi ripetere quella frase finché l'utente non inserisce una risposta tra quelle valide.

Non puoi. Usa alcune librerie dell'interfaccia utente javascript (jQuery UI, YUI, Mootools) e imita una finestra di dialogo che ti serve.

// 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;
                }
            }
        );
    });
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top