Hallo, perfekt gegangen. Danke.
Eine Frage hätte ich aber doch noch: Es wird mir beim Start der Seite das Datum richtig angezeigt. ABER wie bekomme ich noch folgendes hin: Wenn ich im Datumsfeld 1 ein anderes Datum z.B. 12.07.2024 auswähle das im Datumsfeld 2 automatisch gleich der 15.07.2024 erscheint.
Aktuell hab ich folgenden Code:
PHP-Code:
class LoadFormFieldListener
{
public function __invoke(Widget $widget, string $formId, array $formData, Form $form): Widget
{
$timestamp = time();
if ($widget->name == "arrivalDate") {
$widget->value = date("d.m.Y", $timestamp);
}
if ($widget->name == "departureDate") {
$widget->value = date("d.m.Y", strtotime("+3 days"));
}
return $widget;
}
}
Und auch mein JavaScript greift hier nicht:
Code:
<script>
function updateDepartureDate() {
const arrivalDateInput = document.getElementById('ctrl_12');
const departureDateInput = document.getElementById('ctrl_13');
// Wenn ein Datum im Ankunftsdatum ausgewählt wurde
if (arrivalDateInput.value) {
// Berechne das Datum, das drei Tage nach dem Ankunftsdatum liegt
const arrivalTimestamp = Date.parse(arrivalDateInput.value);
const threeDaysLaterTimestamp = arrivalTimestamp + (3 * 24 * 60 * 60 * 1000); // Drei Tage in Millisekunden
// Setze das Abreisedatum auf das berechnete Datum
departureDateInput.value = new Date(threeDaysLaterTimestamp).toISOString().substr(0, 10);
}
}
</script>