JScript2
Hier seht ihr JScript Beispiele für das berechnen von Datumsfelder.
ZeitFeld deaktivieren
Als erstes ein paar einfache Dinge, das folgende Beispiel zeigt, wie man bei einem DateTime (new_date) Field das Zeitfeld deaktiviert und aktiviert.
-
var dateField = crmForm.all.new_date;//Variable definieren
-
dateField.all.time.disable();//deaktivieren
-
dateField.all.time.enable();//aktivieren
Zeit Intervall im Feld Zeit ändern
Standardmäßig ist der Intervall halbstündlich, im folgenden Beispiel werden wir diese Testweise auf stündlich erhöhen, und im zweiten Beispiel werden wir fixe Werte setzen,
die sich mittels des ersten Beispiels nicht realisieren lassen. Als hier werden wir nun den Intervall anstatt halbstündlich auf stündlich ändern, das ganz habe ich in eine Funktion gepackt die bei Bedarf aufgerufen wird.
-
function myfn_interval()
-
{
-
var dateField=new Array(1)//hier erstellen wir ein Array mit den beiden Datumsfelder die wie verändern wollen, in unserem Beispiel Start- und Endzeit
-
dateField[0] = crmForm.all.new_startzeit;
-
dateField[1] = crmForm.all.new_endzeit;
-
var x = 0;
-
for (x=0; x<5; x++)//die FOR Schleife dient dazu, alle definierten Felder unseres obigen Array durchzulaufen
-
{
-
if (dateField[x] != null) {
-
var timeField = dateField[x].all.time;
-
if (timeField != null) {
-
var interval = 60; //hier setzen wir den Intervall in Minuten, denkt daran, mit dem Vielfachen dieses Wertes soll wieder 60 erreicht werden, wie mit 2, 5, 10, 12, also nicht mit 24, 16, 32…
-
var tables = timeField.getElementsByTagName("table");
-
if ((tables != null) && (tables.length > 0)) {
-
var table = tables[1];
-
while (table.firstChild != null) {
-
table.removeChild(table.firstChild);
-
}
-
for (hour = 8; hour < 18; hour++) { //hier setzen wir die Werte für Anfangszeit und Endzeit, das heißt, von 08:00 bis 18:00 werden die Werte berechnet, sprich die Arbeitszeit wird hier angegeben.
-
for (min = 0; min < 60; min += interval) {
-
var row = table.insertRow();
-
var cell = row.insertCell();
-
var time = ((hour < 10) ? "0" : "") + hour + ":" + ((min < 10) ? "0" : "") + min;
-
cell.setAttribute("val", time);
-
cell.innerText = time; //zum Schluss noch alle Wert in die betroffenen Felder schreiben, und fertig.
-
}}
-
}
-
}
-
}
-
}
-
}
Nun zum zweiten Beispiel, indem wir fixe Werte in das Auswahlfeld setzen werden. In den ersten 12 Zeilen setzen wir die fixen werte, in diesem Beispiel habe ich die Start und Endzeit in unserer Firma nachgebildet, also unsere Arbeitszeiten sind 08:00 - 12:00 und 12:45 - 17:00, dies lässt sich mit dem obigen Beispiel nicht machen, deshalb dieses hier. Der Rest ist dem obigen Beispiel ähnlich
-
function myfn_interval()
-
{
-
var time1=new Array(1)
-
var time2=new Array(1)
-
var dateField=new Array(1)
-
time1[0] = "08:00";
-
time2[0] = "12:45";
-
dateField[0] = crmForm.all.new_startzeit;
-
time1[1] = "12:00";
-
time2[1] = "17:00";
-
dateField[1] = crmForm.all.new_endzeit;
-
var x = 0;
-
for (x=0; x<5; x++)
-
{
-
if (dateField[x] != null) {
-
var timeField = dateField[x].all.time;
-
if (timeField != null) {
-
var tables = timeField.getElementsByTagName("table");
-
if ((tables != null) && (tables.length > 0)) {
-
var table = tables[1];
-
while (table.firstChild != null) {
-
table.removeChild(table.firstChild);
-
}
-
var row1 = table.insertRow();
-
var cell1 = row1.insertCell();
-
var row2 = table.insertRow();
-
var cell2 = row2.insertCell();
-
cell1.setAttribute("val", time1[x]);
-
cell1.innerText = time1[x];
-
cell2.setAttribute("val", time2[x]);
-
cell2.innerText = time2[x];
-
}
-
}
-
}
-
}
-
}

