Ich werde eine Schaltfläche erstellen, um eine Aktion auszuführen und die Daten in einer Datenbank zu speichern.
Sobald der Benutzer auf die Schaltfläche klickt, möchte ich, dass eine JavaScript-Warnung die Optionen "Ja" und "Abbrechen" bietet. Wenn der Benutzer "Ja" wählt, werden die Daten in die Datenbank eingefügt, andernfalls werden keine Maßnahmen ergriffen.
Wie zeige ich einen solchen Dialog an?
javascript
dialog
Crchin
quelle
quelle
Antworten:
Sie suchen wahrscheinlich nach
confirm()
, was eine Eingabeaufforderung anzeigt und zurückgibttrue
oderfalse
basierend auf dem, was der Benutzer entschieden hat:quelle
return
else in das else einfügen und müssen dann nicht Ihren gesamten Code in die Bestätigung einschließen! (Fall für Fallif(!confirm('message')) return;
Verwenden Sie
window.confirm
anstelle von Alarm. Dies ist der einfachste Weg, um diese Funktionalität zu erreichen.quelle
if(confirm("...")){
stattdessen auch mit gehenSo geht's mit Inline-JavaScript:
quelle
<form onsubmit="...">
von Ihnen vorgeschlagenen funktioniert auch :)Vermeiden Sie Inline-JavaScript - eine Änderung des Verhaltens würde bedeuten, dass jede Instanz des Codes bearbeitet wird, und es ist nicht schön!
Eine viel sauberere Möglichkeit besteht darin, ein Datenattribut für das Element zu verwenden, z
data-confirm="Your message here"
. Mein Code unten unterstützt die folgenden Aktionen, einschließlich dynamisch generierter Elemente:a
undbutton
klicktform
reicht einoption
wählt ausjQuery:
HTML:
JSFiddle-Demo
quelle
$("[data-confirm]").on('click,submit', function() { /* ... */ })
type="button"
dann gefragt habe, ob der Benutzer das Formular senden möchte (weil Sie auf ein Formularelement klicken), was offensichtlich nicht passiert ist, nachdem Sie erneut auf OK geklickt haben.confirm()
nach Belieben ändern können , ohne den HTML- Code zu ändern.Sie müssen eine benutzerdefinierte Bestätigungsbox erstellen . Es ist nicht möglich, die Schaltflächen in dem von der Bestätigungsfunktion angezeigten Dialogfeld zu ändern.
Siehe dieses Beispiel: https://jsfiddle.net/kevalbhatt18/6uauqLn6/
Nennen Sie es mit Ihrem Code:
Beispiel : http://jsfiddle.net/kevalbhatt18/qwkzw3rg/127/
Skript :
CSS :
quelle
document.getElementById('id_confrmdiv').style.display="none";
der Dialog ausgeblendet, nachdem alle Befehle in der Methode für eine Schaltfläche ausgeführt wurden.Dieses Plugin kann Ihnen helfen, einfach zu bedienen
quelle
Oder einfach:
quelle
Sie können das
onSubmit
Ereignis abfangen, das JS ist. Rufen Sie dann eine Bestätigungsbenachrichtigung an und rufen Sie das Ergebnis ab.quelle
Ein anderer Weg, dies zu tun:
quelle
Dies ist eine vollständig reaktionsfähige Lösung mit Vanille-Javascript:
quelle
xdialog bietet eine einfache API xdialog.confirm () . Code-Snippet folgt. Weitere Demos finden Sie hier
quelle
// do work here..
. Machen Sie die Funktionen fürYES TEXT
undNO TEXT
gehen Sie dorthin?NO TEXT
?oncancel
den letzten Parameteroptionen von eine Option hinzufügenxdialog.confirm(text, onyes, options)
. Für weitere Details siehe: xdialog default-optionsquelle