Datenanbindung (Microsoft), Datumsvergleich JavaScript
Andreas Schulten
- javascript
Ich habe das Beispiel zur Microsoft-Datenanbindung (http://selfhtml.teamone.de/dhtml/modelle/anzeige/woerterbuch.htm) angepasst und stehe als JavaScript-Einsteiger vor der Erweiterung auf einen Datumsvergleich.
Die Datentabelle hat den Aufbau...
_01^_02^_03^_04^_05
a1^a2^a3^02.01.02^aaaaa5
bbb1^bbb2^bbb3^31.12.00^bb5
cc1^c2^c3^15.10.01^cccccccccc5
Ich muß nun das JavaScript um folgenden Filter erweitern:
Für die Felder _01,_02,03, und _05 gibt es wie im o.g. Bsp. Eingabefelder (INPUT...).
Der Filter soll die Anzeige der Daten nun zusätzlich einschränken nach dem Schema
.. && Datum aus Feld "_04" >= document.Eingabe.datum_von.value &&
Datum aus Feld "_04" <= document.Eingabe.datum_bis.value
Das Datum liegt als String im Format "TT.MM.JJ" vor.
Wer kann mir mit einem Tipp helfen?
Gruß Andreas
Tag...
Ich habe das Beispiel zur Microsoft-Datenanbindung (http://selfhtml.teamone.de/dhtml/modelle/anzeige/woerterbuch.htm) angepasst und stehe als JavaScript-Einsteiger vor der Erweiterung auf einen Datumsvergleich.
Die Datentabelle hat den Aufbau...
_01^_02^_03^_04^_05
a1^a2^a3^02.01.02^aaaaa5
bbb1^bbb2^bbb3^31.12.00^bb5
cc1^c2^c3^15.10.01^cccccccccc5
Ich muß nun das JavaScript um folgenden Filter erweitern:
Für die Felder _01,_02,03, und _05 gibt es wie im o.g. Bsp. Eingabefelder (INPUT...).
Der Filter soll die Anzeige der Daten nun zusätzlich einschränken nach dem Schema
.. && Datum aus Feld "_04" >= document.Eingabe.datum_von.value &&
Datum aus Feld "_04" <= document.Eingabe.datum_bis.value
Das Datum liegt als String im Format "TT.MM.JJ" vor.
Wer kann mir mit einem Tipp helfen?
Tja wenn ich dein Problem richtig verstehe möchtest du deine Datensätze ab einem bestimmten Datum anzeigen lassen. Dazu musst du aber in der Form erstaml ein JavaScript schreiben, welches mit Datumsangaben umgehen kann. Denn per JavaScript lässt sich zwar ermitteln das 1 größer oder gleich 0 ist aber bei einem Datum sieht das anders aus.
Du solltes dazu deine Datensätze nach Datum sotieren. So könntest du alle Daten abfallend oder steigend nach einem Datum ausgeben, welches du vorher über einen Stringvergleich ermittelt hast.
cu code2i
Tja wenn ich dein Problem richtig verstehe möchtest du deine Datensätze ab einem bestimmten Datum anzeigen lassen.
schlimmer ... ich muß den Zeitraum variabel halten! ;-)
Diese Krücke habe ich mir gebaut (Mini-Beispiel):
Werte der Eingabefelder im Formular
fvon:01.01.02
fbis:31.03.02
fsuchdatum:15.02.02
***
var vdatum = document.Eingabe.fvon.value
var bdatum = document.Eingabe.fbis.value
var sdatum = document.Eingabe.fsuchdatum.value
var vdat = vdatum.split(".");
var bdat = bdatum.split(".");
var sdat = sdatum.split(".");
var von = vdat[2]+vdat[1]+vdat[0];
var bis = bdat[2]+bdat[1]+bdat[0];
var suchdatum = sdat[2]+sdat[1]+sdat[0];
if (suchdatum >= von && suchdatum <= bis)
document.write(suchdatum + " liegt drin");
else
document.write(suchdatum + " liegt NICHT drin");
***
macht einen Vergleich ...
ist 020215 >=020101 UND <= 020331 ?
und sagt in diesem Fall: "020215 liegt drin" - klappt also.
Ich kann das Beispiel (http://selfhtml.teamone.de/dhtml/modelle/anzeige/woerterbuch.htm) aber nicht anpassen.
Mit einem Textfeld war es einfach:
*******
if(document.Eingabe.Such_04.value != "") {
if(Suchbegriffe > 0)
Suchausdruck = Suchausdruck + " & _04 = " + document.Eingabe.Such_04.value;
else
Suchausdruck = Suchausdruck + "_04 = " + document.Eingabe.Such_04.value;
Suchbegriffe++;
}
*******
Nun müsste ich aber den Wert aus Feld "_04" und den Wert aus dem Eingabefeld umwandeln in das Format JJMMTT und miteinander vergleichen.
Ich durchschaue die notwendige Syntax nicht. :-(
Wer hat hat's drauf?
Gruß Andreas