2009-11-25 13 views
17

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

Invece di solo "Ok" e "Annulla", mi piacerebbe avere per esempio "Questo" "Quello" e "Altro".

+0

Eventuali duplicati di [come mostrare avviso di conferma con tre pulsanti 'Sì' 'No' e 'Annulla' quanto mostra in MS Word] (http://stackoverflow.com/questions/9091001/how-to-show-confirmation-alert-with-three-buttons-yes-no-and-cancel-as-it) –

+0

Riguardo a possibili duplicati - Vorrei far notare che questa domanda è stata scritta due anni prima;) –

risposta

16

In breve, non è possibile.

Si consiglia di prendere in considerazione l'utilizzo di qualcosa come un jQuery UI dialog invece.

2

Non è possibile. Utilizza alcune librerie dell'interfaccia utente javascript (jQuery UI, YUI, Mootools) e simula una finestra di dialogo che ti serve.

2

Si potrebbe chiedere all'utente una risposta utilizzando:

var userChoice = prompt("Question"); 

Si potrebbe ciclo quella frase fino a quando l'utente inserisce una risposta entro quelli validi.

1
// 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; 
       } 
      } 
     ); 
    }); 
}); 
Problemi correlati