Javascript Conferma popup pulsante Sì, No invece di OK e Annulla


113

Javascript Conferma popup, voglio mostrare il pulsante Sì, No 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>

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

Esiste una soluzione per ottenere questo risultato in Javascript?

Voglio anche cambiare il titolo del popup come in IE viene mostrato "Windows Internet Explorer", voglio mostrare qui il nome della mia applicazione.


Ho creato un dialogo sì no da solo, è davvero facile da personalizzare: github.com/stein189/YesNoDialog Potresti provare questo se vuoi
Szenis

Risposte:


88

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

Suggerirei di utilizzare una libreria Javascript che può invece creare una finestra di dialogo basata su DOM. Prova l'interfaccia utente di Jquery: http://jqueryui.com/


17

L'unico modo per farlo in un modo cross-browser è usare un framework come jQuery UI e creare una finestra di dialogo personalizzata:

jquery Dialog

Non funziona esattamente allo stesso modo del popup di conferma integrato, ma dovresti essere in grado di farlo fare quello che vuoi.


4
Per chiarezza, non è l'UNICO modo: puoi scrivere il tuo in Javascript ovviamente, non che sarebbe la cosa giusta da fare.
LeonardChallis

1
@LeonardChallis ma includere una grande libreria solo per una funzionalità div modale è meglio? Non credo proprio
nicholaswmin

8

Puoi anche utilizzare http://projectshadowlight.org/jquery-easy-confirm-dialog/ . È molto semplice e facile da usare. Includi solo la libreria comune jquery e un altro file:

<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>



3

La libreria in primo piano (ma piccola e semplice) che puoi usare è JSDialog: js.plus/products/jsdialog

Di seguito è riportato un esempio per la creazione di una finestra di dialogo con i 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"
);

Screenshot della demo di JS Dialog


1
Ehi, dove lo scarichi?
Gary

@Gary Links è stato impostato sul testo blu e sottolineato per impostazione predefinita per decenni. Usa il mouse per passare il mouse sul testo blu nella prima riga di questa risposta e fai clic sul pulsante sinistro.
Carrello abbandonato il

i plugin premium non aiutano i programmatori
Chris Pink

1

puoi usare sweetalert.

importa nel tuo HTML:

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>

e per attivare l'allarme:

Swal.fire({
  title: 'Do you want to do this?',
  text: "You won't be able to revert this!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, Do this!',
  cancelButtonText: 'No'
}).then((result) => {
  if (result.value) {
    Swal.fire(
      'Done!',
      'This has been done.',
      'success'
    )
  }
})

per ulteriori dati visitare il sito Web di avvisi di sweetalert


0

1) Puoi scaricare e caricare i file seguenti sul tuo sito

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

2) dopodiché puoi utilizzare direttamente il codice sottostante

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

nella funzione document.ready.

Per favore prova, funzionerà.

Grazie


-11

la risposta molto specifica al punto è confermare il dialogo Funzione Js:

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

Mostra la finestra di dialogo con i pulsanti di annullamento ok, sostituire questi pulsanti con sì no non è un compito così semplice, per questo è necessario scrivere la funzione jQuery.


1
Voleva un Sì e No. Questa conferma dà solo un ok o Annulla. Ecco perché questo è stato bocciato.
SpoiledTechie.com
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.