2009-05-05 10 views
97

Javascript Conferma popup, Voglio mostrare Sì, Nessun pulsante invece di OK e Annulla.Javascript Conferma popup Sì, Nessun pulsante invece di OK e Annulla

Ho usato questo codice VBScript:

<script language="javascript"> 
    function window.confirm(str) { 
     execScript('n = msgbox("' + str + '","4132")', "vbscript"); 
     return (n == 6); 
    } 
</script> 

questo funziona solo in IE, in FF e Chrome, non funziona.

Esiste una soluzione per raggiungere questo risultato in Javascript?

Voglio anche cambiare il titolo del popup come in IE 'Windows Internet Explorer' è mostrato, voglio mostrare qui il mio nome dell'applicazione.

+0

Ho fatto un dialogo sì no anch'io è davvero facile da personalizzare: https://github.com/stein189/YesNoDialog Si potrebbe provare questo se si wa nt a – Szenis

risposta

83

Sfortunatamente, non esiste un supporto cross-browser per l'apertura di una finestra di dialogo di conferma che non è la coppia OK/Annulla predefinita. La soluzione che hai fornito utilizza VBScript, che è disponibile solo in IE.

Suggerirei di utilizzare una libreria Javascript che può invece creare una finestra di dialogo basata su DOM. Prova jQuery UI: http://jqueryui.com/

17

L'unico modo è possibile ottenere questo risultato in maniera cross-browser è quello di utilizzare un framework come jQuery UI e creare una finestra di dialogo personalizzata:

jquery Dialog

E doesn' t funzionano esattamente allo stesso modo del popup di conferma integrato, ma dovresti essere in grado di farlo fare ciò che vuoi.

+3

Per chiarezza, non è l'UNICO modo - è possibile scrivere il proprio in Javascript, ovviamente, non che sarebbe la cosa giusta da fare. – LeonardChallis

+1

@LeonardChallis ma includere una grande libreria solo per una funzionalità di div modale è meglio? Io non la penso così –

4

Non è possibile eseguire questo cross-browser con la funzione confirm() o simile. Consiglio vivamente di utilizzare qualcosa come la funzione jQuery UI dialog per creare invece una finestra di dialogo HTML.

6

È inoltre possibile utilizzare http://projectshadowlight.org/jquery-easy-confirm-dialog/. È molto semplice e facile da usare. Basta inserire libreria jQuery comuni e più di un file solo:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> 
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/blitzer/jquery-ui.css" type="text/css" /> 
<script src="jquery.easy-confirm-dialog.js"></script> 
-9

la risposta molto specifico per il punto è confermare il dialogo Js Funzione:

confirm('Do you really want to do so'); 

Si finestra di dialogo mostra con i pulsanti ok annullare, per sostituire questo pulsante con sì no non è un compito così semplice, per questo è necessario scrivere la funzione jQuery.

+1

Voleva un Sì e un No. Questa conferma dà solo un ok o cancella. Ecco perché questo è stato votato. –

2

Dai un'occhiata alla http://bootboxjs.com/

Molto semplice da usare:

bootbox.confirm("Are you sure?", function(result) { 
    Example.show("Confirm result: "+result); 
}); 
0

1) È possibile scaricare e caricare di seguito i file sul vostro sito

<link href="/Style%20Library/css/smoothness/jquery.alerts.css" type="text/css" rel="stylesheet"/> 

2) dopo di che puoi utilizzare direttamente sotto il codice

$ .alerts.okButton = "sì"; $ .alerts.cancelButton = "no";

nella funzione document.ready.

Si prega di provare funzionerà.

Grazie

3

La caratterizzato (ma piccolo e semplice) biblioteca è possibile utilizzare è JSDialog: js.plus/products/jsdialog

Ecco un esempio per la creazione di un dialogo con pulsanti Sì e No:

JSDialog.showConfirmDialog(
    "Save document before it will be closed?\nIf you press `No` all unsaved changes will be lost.", 
    function(result) { 
     // check result here 
    }, 
    "warning", 
    "yes|no|cancel" 
); 

JS Dialog demo screenshot

+0

Ehi, dove lo scarichi? – Gary

Problemi correlati