Dirty-Flag für Eingabefelder???
Thomas Schmieder
- html
Guten Morgen,
da ahnt man nix Böses und schon wieder habe ich 'ne Frage an Euch...
Gibt es eigentlich eine Möglichkeit, die Änderung eines HTML-Eingabefeldes abzufragen? Intern wird ja, wenn ich das richtig sehe, der Wert zweimal geführt, alter und neuer Wert. Wenn man ESC drückt, ist der alte wieder da.
Es wäre doch nun plausibel, dass diese Daten auch zur Verfügung gestellt werden, sodass man si mit einem Formular posten kann. Habe ich da außer mit JavaScript eine Abfragemöglichkeit?
Mit JavaScript müsste man sich wahrscheinlich einen Handler basteln, der eine schon vorher definierte (Hidden-)Variable (schön wäre es, wenn es hidden checkboxes gäbe) setzt. Die könnte dann in Anlehnung an das Feld "feldname_dirty" heißen...
Ich hoffe, ich habe da jetzt nix übersehen und die Lösung stand schon gaaanz groß auf Seite 1 vom SelfHTML.
Liebe Grüße
Tom
use Mosche;
Gibt es eigentlich eine Möglichkeit, die Änderung eines HTML-Eingabefeldes abzufragen?
Willst du den Namen des Handlers onChange herausfinden? :-)
Intern wird ja, wenn ich das richtig sehe, der Wert zweimal geführt, alter und neuer Wert. Wenn man ESC drückt, ist der alte wieder da.
Das ist browser-spezifisch und nicht standard-mäßig vorgegeben.
Es wäre doch nun plausibel, dass diese Daten auch zur Verfügung gestellt werden, sodass man si mit einem Formular posten kann. Habe ich da außer mit JavaScript eine Abfragemöglichkeit?
Du könntest bei jeder Änderung des Eingabefeldes das Formular submitten und die alten/neuen Werte auf dem Server weiterverarbeiten. Wie du das macht, bleibt dir überlassen: es geht, es ist nur sau umständlich. JS ist hier einfacher.
Mit JavaScript müsste man sich wahrscheinlich einen Handler basteln, der eine schon vorher definierte (Hidden-)Variable (schön wäre es, wenn es hidden checkboxes gäbe) setzt. Die könnte dann in Anlehnung an das Feld "feldname_dirty" heißen...
So kann man es realisieren.
use Tschoe qw(Matti);
use Mosche;
Gibt es eigentlich eine Möglichkeit, die Änderung eines HTML-Eingabefeldes abzufragen?
Willst du den Namen des Handlers onChange herausfinden? :-)
Nein, den kannte ich schon, trotz
<img src="http://bitworks.de/~tschmieder/brett02.jpg" border=0 alt="">
Brett vor dem Kopf.
Intern wird ja, wenn ich das richtig sehe, der Wert zweimal geführt, alter und neuer Wert. Wenn man ESC drückt, ist der alte wieder da.
Das ist browser-spezifisch und nicht standard-mäßig vorgegeben.
Weißt Du, welcher Browser das unterstützt? Ich habe nur M$IE (5.5, 6.x) und den NS-Browser (4.73, 6.x) zur Verfügung.
Es wäre doch nun plausibel, dass diese Daten auch zur Verfügung gestellt werden, sodass man si mit einem Formular posten kann. Habe ich da außer mit JavaScript eine Abfragemöglichkeit?
Da hatte ich an die Vorgaben für HTML gedacht und schon mal die aktuelle Unterlage vom W3-Konsortium gesucht zu dem Thema - leider nix.
Du könntest bei jeder Änderung des Eingabefeldes das Formular submitten und die alten/neuen Werte auf dem Server weiterverarbeiten. Wie du das macht, bleibt dir überlassen: es geht, es ist nur sau umständlich. JS ist hier einfacher.
Genau das will ich eben nicht und finde JavaScript da auch angebrachter. Ich will nur nicht Variablen erfinden, die es sowieso schon gibt. Allerdings wird man ja die hidden-Vars trotzdem benötigen, um sie fer Submit überhaupt zum Server zu bekommen. Könnte man die denn dann wenigstens dynamisch in die Elementstruktur des Forms einbinden, also durch JavaScript erzeugen lassen? Alos nochmal ganz klar: ERZEUGEN lassen und setzen, nicht nur setzen.
So kann man es realisieren.
Das ist hier die Frage.
-------------
Es gibt ja in HTML ein paar Sachen die es nicht gibt, die aber praktisch wären. Positionierung der Input-Felder (ist wohl jetzt durch CSS möglich, wenn ich das richtig verstehe), Steuerzeichen im Formular für den Drucker (Seitenvorschub erzwingen). Das ist eigentlich schon lange überfällig. Gibts dafür eien Workaraound?
Überlagerung von zwei Grafiken. Geht das ggf. auch mit CSS? Anwendungsbeispiel:
Landkarte. Ich will nur einen roten Punkt in die Karte einzeichnen, der dann möglichst auch noch wandert... Das soll clientseitig passieren. Der Punkt müßte also in einer transparenten Grafik liegen, die über die andere geblendet wird.
Für diese Ideen wollte ich keinen neuen Thread aufmachen.
-------------
Gruß
Tom
use Mosche;
Gibt es eigentlich eine Möglichkeit, die Änderung eines HTML-Eingabefeldes abzufragen?
Ich will nur nicht Variablen erfinden, die es sowieso schon gibt.
Meines Wissens gibt es keine solchen Variablen.
So kann man es realisieren.
Das ist hier die Frage.
Nein, es ist eine Aussage *SCNR*
Es gibt ja in HTML ein paar Sachen die es nicht gibt, die aber praktisch wären. Positionierung der Input-Felder (ist wohl jetzt durch CSS möglich, wenn ich das richtig verstehe),
Du hast vielleicht die Möglichkeit, input-Felder zu positionieren (obwohl sie immer noch 0*0px Platz wegnehmen und unsichtbar sind), ist diese Formatierung unlogisch. margin/padding/... Angaben auf unsichtbare Elemente sind schwachsinn.
Steuerzeichen im Formular für den Drucker (Seitenvorschub erzwingen). Das ist eigentlich schon lange überfällig. Gibts dafür eien Workaraound?
Schon mal in Selfhtml geschaut?
http://selfhtml.teamone.de/css/eigenschaften/printlayouts.htm
Überlagerung von zwei Grafiken. Geht das ggf. auch mit CSS?
Ja. Absolut positionieren und dann per left/top bewegen.
use Tschoe qw(Matti);
Hi Tom,
Gibt es eigentlich eine Möglichkeit, die Änderung
eines HTML-Eingabefeldes abzufragen?
wie möchtest Du auf eine solche Änderung reagieren -
serverseitig oder clientseitig?
Viele Grüße
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael
Hi Tom,
Gibt es eigentlich eine Möglichkeit, die Änderung
eines HTML-Eingabefeldes abzufragen?
wie möchtest Du auf eine solche Änderung reagieren -
serverseitig oder clientseitig?
Viele Grüße
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael
Hallo Michael,
ausgewertet wird das Formular serverseitig. Aber man könnte ihn erheblich entalsten, wenn er nicht erst die alten Werte herkramen müßte um dann festzustellen, dass sie sich nicht verändert haben.
Ich versuche einige "Masterscripts" für eine universelle Dateiverwaltung zusammenzubauen. Da habe ich mich an meine alten dBase-Zeiten erinnert. Da gab es die Funktion readkey() mit der man feststellen konnte, mit welcher Taste ein Eingabefeld verlassen wurde und ob es geändert wurde.
Grüße aus Braunschweig
Tom
Hi Tom,
ausgewertet wird das Formular serverseitig.
Aber man könnte ihn erheblich entalsten, wenn er
nicht erst die alten Werte herkramen müßte um dann
festzustellen, dass sie sich nicht verändert haben.
was hältst Du davon, jeden Wert eines Formularelements
zusätzlich als HIDDEN-Element in das Formular hinein
zu schreiben, wobei sein Name um eine konstante Endung
(z. B. "_old") ergänzt wurde?
Nachteil: Dann sind diese Werte ggf. via URL fälschbar.
Eine zuverlässige Prüfung kannst Du wirklich nur durch
das "herkramen" der Werte auf dem Server erreichen -
wofür Du Dir diese Werte also auf dem Server merken
mußt. Und um sie wiederzuerkennen, dürftest Du ein
Session-Konzept benötigen ...
Viele Grüße
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael