Dieser Artikel beschreibt die Methode von JavaScript, um festzustellen, ob ein Benutzer das Formular geändert hat. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Dieser JS -Code kann bestimmen, ob der Benutzer den Formularinhalt geändert hat. Wenn das Formular geändert und aus dem Browser beendet wird, erinnert der Benutzer, ob das Formularinhalt speichert wird. Es ist ein sehr nützlicher Code.
Funktion formisDirty (Form) {für (var i = 0; i <form.elements.length; i ++) {var element = Form.elements [i]; var type = element.type; if (type == "CheckBox" || type == "radio") {if (Element.Conted! = element.DefaultChecked) {return true; }} else if (type == "Hidden" || type == "password" || type == "text" || type == "textArea") {if (element.value! = element.defaultValue) {return true; }} else if (type == "select-one" || type == "select-multiple") {für (var j = 0; j <element.options.length; j ++) {if (element.options [j] .Selected! = element.options [j] .DefaultSelected) {return true; }}} return false;}Beispiel für die Nutzung: Beim Verlassen des Browsers wird der Benutzer, wenn der Benutzer das Formular geändert hat, daran erinnert, ob er es speichert.
window.onbeforeUload = Funktion (e) {e = e || Fenster.Event; if (formisDirty (document.Forms ["monform"])) {// für IE und Firefox if (e) {e.returnValue = "Sie haben nicht gerettete Änderungen."; } // für Safari Return "Sie haben nicht gespeicherte Änderungen."; }};Hier ist ein vollständiger Beispielcode
Die Codekopie lautet wie folgt: Klicken Sie auf die Schaltfläche unten. Ändern Sie nun einige Werte in Form und klicken Sie erneut auf die Schaltfläche.
<form name = "fooform">
<Eingabe type = "text" name = "t"> <br>
<Eingabe type = "text" name = "2" value = "Standard"> <br>
<select name = "einige">
<option value = "fooo" selected = ""> foo </option>
<Option Value = "bar"> bar </option>
</select> <br>
</form>
<Schaltfläche onclick = "alert (formisDirty (document.fooform))"> Klicken, um zu überprüfen, ob das Formular schmutzig ist </button>
<br>
<Script>
Funktion formisDirty (Form) {
für (var i = 0; i <form.elements.length; i ++) {
var element = form.elements [i];
var type = element.type;
if (type == "Kontrollkästchen" || Typ == "Radio") {
if (Element.Checked! = Element.DefaultChecked) {
zurückkehren;
}
}
else if (type == "Hidden" || type == "Passwort" ||
Typ == "Text" || Typ == "textarea") {
if (element.Value! = element.defaultValue) {
zurückkehren;
}
}
else if (type == "select-one" || type == "select-multiple") {
für (var j = 0; j <element.options.length; j ++) {
if (element.options [j] .gewählt! =
Element.Options [j] .DefaultSelected) {
zurückkehren;
}
}
}
}
false zurückgeben;
}
</script>
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.