# Datum aus Eingabe berechnen



## no4 (23. Februar 2005)

Hallo zusammen,

ich habe folgendes Problem: In ein Textfeld wird ein Datum geschrieben, also z.B. 21.05.2005. Wäre super, wenn es auch weiterhin 1 Formularfeld bleiben könnte (also nicht tag, monat, jahr), weil das Datum aus einem Kalender ausgewählt wird. 
Nun gibt es noch ein zweites Formularfeld, in dem das Datum um 3 Tage hochgerechnet und eigentlich gleichzeitig eingetragen werden soll.

Kann mir hier jemand weiterhelfen?

Vielen Dank!
no4

weiß hier keiner weiter, wäre echt wichtig! danke!


----------



## Quaese (23. Februar 2005)

Hi,

nicht mal drei Stunden gewartet seit dem ersten Posting und schon drängeln ... 

Wenn das Datum im ersten Textfeld immer im gleichen Format vorliegt (tt.mm.jjjj), kannst du
es mit der JavaScipt-Methode *split* des Objektes *string* anhand des Punktes als
Trennzeichen in ein Array zerlegen. Mit den erhaltenen Werten im Array kannst du das gewünschte
Datum ermitteln und anschliessend einen neu generierten Datumsstring im zweiten Textfeld
ausgeben.

```
/* ****************************************************** *
 * Funktion berechnet aus dem übergebenen Textfeld-Wert   *
 * (Format: tt.mm.jjjj) ein neues Datum und gibt es aus.  *
 * Parameter: intDays  - Anzahl Tage die zum übergebenen  *
 *                       Datum addiert/subtrahiert werden *
 *                       sollen                           *
 *            objInput - Textfeld-Objekt, das den Datums- *
 *                       ausgangsstring enthält           *
 * ****************************************************** */
function calcDate(intDays, objInput){
  // Wert in Tag - Monat - Jahr zerlegen
  var arrDate = objInput.value.split(".");

  // Neues Datum berechnen
  var dateNew = new Date(parseInt(arrDate[2]), parseInt(arrDate[1]), (parseInt(arrDate[0])+intDays));

  // Anweisungen mit dem Objekt dateNew
  with(dateNew){
    // Datumsstring generieren und in Textfeld ausgeben
    objInput.form.txtDate_2.value = getDate()+"."+getMonth()+"."+getFullYear();
  }
}
```
Das zugehörige Formular könnte zum Beispiel so aussehen:

```
<form action="" method="">
  <div><input type="text" name="txtDate_1" onclick="calcDate(3, this);" value="23.02.2005" /></div>
  <div><input type="text" name="txtDate_2" value="" /></div>
</form>
```
Ich hoffe, das hilft dir weiter.

Ciao
Quaese


----------

