Hallo,
bevor ich mir eine Kugel durch den Kopf jage hoffe ich, daß mir hier jemand meinen Denkfehler lösen kann.
Und bevor jemand sagt: Schau ins SDK und in das Forum. habe ich getan und mittlerweile zwei Tage damit verbracht die gefunden Punkte ans laufen zu kriegen.
Die Aufgabenstellung A:
Es wird ein Datensatz erzeugt und dort gibt es das Feld Beginn und das Feld Ende
Im Onload wird als Standard für Beginn das heutige Datum und die Uhrzeit 8.00 Uhr eingetragen. Für Ende ebenfalls das heutige Datum und die Uhrzeit 18.00 Uhr.
Das funktioniert und sieht bei mir so aus:
==================
// Die Felder Beginn und Ende vorab füllen
var oField01 = crmForm.all.new_beginn;
var oField02 = crmForm.all.new_ende;
// Außerdem müssen zwei Zeitobjekte deklariert werden
var oBeginn;
oBeginn = new Date();
oBeginn = oBeginn.setHours(8,0,0);
var oEnde;
oEnde = new Date();
oEnde = oEnde.setHours(18,0,0);
// Es muß also vorab geprüft werden ob die Felder bereits gefüllt sind
// und ob die Felder gültig sind
// Feld Beginn
if (typeof(oField01) != "undefined" && oField01 != null)
{
if (oField01.DataValue == null)
{
oField01.DataValue = oBeginn;
}
}
// Feld Ende
if (typeof(oField02) != "undefined" && oField02 != null)
{
if (oField02.DataValue == null)
{
oField02.DataValue = oEnde;
}
}
============
Vermutlich kann man das mit der Prüfung auf die FormType noch verkürzen.
Jetzt möchte ich aber im OnChange-Event das zweite Datumsfeld ändern, wenn das erste Datumsfeld geändert wurde. Beispielsweise wenn der Tag im Beginn geändert wird, dann soll der gleiche Tag auch im Ende stehen. Aber die Uhrzeit soll unverändert bleiben.
Aber alle Versuche, die ich mit getDate,setDate etc. gemacht habe enden entweder in "'undefined' ist NULL oder kein Objekt" bzw. "Objekt doesn't support..."
Die Aufgabenstellung B:
Auch beim Berechnen der Dauer zwischen Ende und Beginn erhalte ich außer Fehlermeldungen keine Resultate. Ich vermute im Moment einfach, das getMonth() und Kollegen keine INT-Werte zurückgeben. Aber das sollte sie doch, oder?
Deshalb meine Bitte: Kann mir jemand das Brett von der Stirn nehmen?
Herzlichen Dank
Harald