Formular validieren

Formular auf Änderungen überprüfen

Oft vergisst ein Benutzer seine Daten zu speichern bevor er die Seite verlässt. Mit folgendem Script kann man überprüfen ob im aktuellen Formular Änderungen gemacht wurden. Wenn der User die Seite verlassen will wird ihm eine entsprechende Meldung angezeigt (als Library wird hier Prototyp verwendet).

check-beforeunload.js
var bElementsChanged = false;
Event.observe(window, 'load', function() {
	var form = $('formid');
	for (var i=0; i<form.elements.length; ++i) {
		var elm = form.elements[i];
		Event.observe(elm, "change", function() {
			bElementsChanged = true;
		});
	}
	Event.observe(form, "submit", function() {
		bElementsChanged = false;
	});
});
Event.observe(window, "beforeunload", function(event) {
    if (bElementsChanged) {
        event.returnValue = "Daten noch nicht gespeichert!";
    }
});

Im Firefox wäre es prinzipiell auch möglich, das Formular auf eine Änderung (das „change“-Event) zu überprüfen, allerdingt ist dies ein „Bug“. Das „change“-Event wird grundsätzlich nicht an das Elternobjekt vererbt

js/formular_validierung.txt · Zuletzt geändert: 27.12.2013 19:46 (Externe Bearbeitung)
Nach oben
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0