Javascript Popup bestätigen Ja, Nein-Schaltfläche anstelle von OK und Abbrechen

112

Javascript Popup bestätigen, ich möchte die Schaltfläche Ja, Nein anstelle von OK und Abbrechen anzeigen.

Ich habe diesen VBScript-Code verwendet:

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

Dies funktioniert nur in IE, In FF und Chrome funktioniert es nicht.

Gibt es einen Workround, um dies in Javascript zu erreichen?

Ich möchte auch den Titel des Popups ändern, wie im IE "Windows Internet Explorer" angezeigt wird. Ich möchte hier meinen eigenen Anwendungsnamen anzeigen.

Muhammad Akhtar
quelle
Ich habe selbst einen Ja-Nein-Dialog erstellt, der sehr einfach anzupassen ist: github.com/stein189/YesNoDialog Sie können diesen versuchen, wenn Sie möchten
Szenis

Antworten:

88

Leider gibt es keine browserübergreifende Unterstützung für das Öffnen eines Bestätigungsdialogs, der nicht das Standardpaar OK / Abbrechen ist. Die von Ihnen bereitgestellte Lösung verwendet VBScript, das nur im IE verfügbar ist.

Ich würde vorschlagen, eine Javascript-Bibliothek zu verwenden, die stattdessen einen DOM-basierten Dialog erstellen kann. Probieren Sie die Jquery-Benutzeroberfläche aus: http://jqueryui.com/

Johnvey
quelle
17

Die einzige Möglichkeit, dies browserübergreifend zu erreichen, besteht darin, ein Framework wie die jQuery-Benutzeroberfläche zu verwenden und einen benutzerdefinierten Dialog zu erstellen:

jquery Dialog

Es funktioniert nicht genauso wie das integrierte Bestätigungs-Popup, aber Sie sollten in der Lage sein, es so zu machen, wie Sie es möchten.

Constantinius
quelle
4
Aus Gründen der Klarheit ist dies nicht der EINZIGE Weg - Sie können natürlich Ihren eigenen in Javascript schreiben, nicht dass dies das Richtige wäre.
LeonardChallis
1
@LeonardChallis aber eine große Bibliothek nur für eine modale Div-Funktionalität einzuschließen ist besser? Ich glaube nicht
Nicholaswmin
8

Sie können auch http://projectshadowlight.org/jquery-easy-confirm-dialog/ verwenden . Es ist sehr einfach und leicht zu bedienen. Fügen Sie einfach die allgemeine jquery-Bibliothek und nur eine weitere Datei hinzu:

<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>
Quan
quelle
4

Sie können diesen browserübergreifenden Vorgang nicht mit der Funktion verify () oder ähnlichem ausführen. Ich empfehle dringend, dass Sie so etwas wie die jQuery UI-Dialogfunktion verwenden , um stattdessen ein HTML-Dialogfeld zu erstellen.

Cletus
quelle
3

Schauen Sie sich http://bootboxjs.com/ an.

Sehr einfach zu bedienen:

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

Die vorgestellte (aber kleine und einfache) Bibliothek, die Sie verwenden können, ist JSDialog: js.plus/products/jsdialog

Hier ist ein Beispiel zum Erstellen eines Dialogfelds mit den Schaltflächen Ja und Nein:

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

Dan Spirit
quelle
1
Hey, wo lädst du das nicht runter?
Gary
@ Gary Links verwenden seit Jahrzehnten standardmäßig blauen, unterstrichenen Text. Bewegen Sie den Mauszeiger über den blauen Text in der ersten Zeile dieser Antwort und klicken Sie auf die linke Schaltfläche.
Verlassener Wagen
Premium-Plugins helfen keinem Programmierer
Chris Pink
1

Sie können Sweetalert verwenden.

Import in Ihr HTML:

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

und um den Alarm auszulösen:

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'
    )
  }
})

Weitere Daten finden Sie auf der Website von sweetalert alert

Ohad Cohen
quelle
0

1) Sie können die folgenden Dateien auf Ihrer Website herunterladen und hochladen

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

2) Danach können Sie den folgenden Code direkt verwenden

$ .alerts.okButton = "yes"; $ .alerts.cancelButton = "no";

in document.ready Funktion.

Bitte versuchen Sie es wird funktionieren.

Vielen Dank

Reshma bhalekar
quelle
-11

Die sehr spezifische Antwort auf diesen Punkt lautet: Bestätigungsdialog Js Funktion:

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

Es zeigt ein Dialogfeld mit OK-Abbrechen-Schaltflächen. Das Ersetzen dieser Schaltfläche durch Ja-Nein ist keine so einfache Aufgabe, dafür müssen Sie die jQuery-Funktion schreiben.

Ibrahim Khan
quelle
1
Er wollte ein Ja und Nein. Diese Bestätigung gibt nur ein OK oder eine Stornierung. Deshalb wird dies abgelehnt.
SpoiledTechie.com