2009-11-25 8 views
17

¿Cómo escribir un diálogo de confirmación en JavaScript con opciones personalizadas?opciones personalizadas en el diálogo de confirmación de JavaScript

En lugar de solo "Aceptar" y "Cancelar", me gustaría tener, por ejemplo, "Este" "Eso" y "Otro".

+0

duplicado posible de [cómo mostrar alerta de confirmación con tres botones 'Sí' 'No' y 'Cancelar', ya que muestra en MS Word] (http://stackoverflow.com/questions/9091001/how-to-show-confirmation-alert-with-three-buttons-yes-no-and-cancel- as-it) –

+0

Sobre la posible duplicación - Me gustaría señalar que esta pregunta fue escrita dos años antes;) –

Respuesta

16

En resumen, no se puede.

En su lugar, le conviene considerar la posibilidad de utilizar algo como un jQuery UI dialog.

2

No puede. Usa alguna biblioteca de IU de JavaScript (jQuery UI, YUI, Mootools) e imita un diálogo que necesites.

2

Se podría pedir al usuario una respuesta usando:

var userChoice = prompt("Question"); 

Usted podría bucle de esa frase hasta que el usuario introduce una respuesta dentro de los válidos.

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; 
       } 
      } 
     ); 
    }); 
}); 
Cuestiones relacionadas