Jak wspomina @ScottWe:próbujesz zastosować logikę PLSQL w HTML/javascript. „Kiedy – warunek” jest oceniany w czasie wykonywania i dlatego nie można tam używać PLSQL. Arytmetyka dat jest jednak nieco denerwująca w javascript, więc jeśli nie jesteś z nią zaznajomiony, oto sposób na wykonanie sprawdzenia (czyli data wpisana jutro, czy nie).
Biorąc pod uwagę moje wskazówki:
Różnica dat w JavaScript (ignorowanie pory dnia)
JavaScript, jak uzyskać jutrzejszą datę w formacie dd-mm-rr
Dodaj tę funkcję do sekcji JavaScript strony dla zmiennych i funkcji globalnych:
funkcjafunction isTomorrow(pDateItem){
function getTomorrow(){
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
return tomorrow;
};
function cutTime(pDate){
return new Date(pDate.getFullYear(), pDate.getMonth(), pDate.getDate());
};
// check if pDateItem leads to a selection
// check if it is a datepicker
// check if a date has been selected
if ( $(pDateItem).length
&& $(pDateItem).data("datepicker")
&& $(pDateItem).datepicker("getDate") !== null
)
{
var tomorrow = getTomorrow();
var check = $(pDateItem).datepicker("getDate");
var one = cutTime(check);
var two = cutTime(tomorrow);
return one.getDate() === two.getDate();
};
return false;
}
Następnie w warunku akcji dynamicznej „Kiedy” użyj wyrażenia javascript z następującym kodem:
isTomorrow(this.triggeringElement)
Wtedy odpowiednie Prawdziwe działania zostaną uruchomione tylko wtedy, gdy data zostanie ustawiona na jutro.