Seite 1 von 1

Datumfeld: Es soll nur letzter Tag im Monat ausgewählt werden können

Verfasst: 23.10.2014, 12:38
von vac
Hallo, vielleicht kann mir jemand helfen oder zumindest sagen, wo ich eine Lösung finden könnte.

Ich habe ein Formular, in dem der Nutzer ein Projektende-Datum angeben soll. Wichtig ist, dass das Projektende immer nur der letzte Tag eines Kallendermonats sein kann.

Man könnte wohl einen Work-Around machen - mit zwei drop-down-Feldern (Monat+Jahr). Geht so etwas auch mit Datumsfeld?

Danke im Voraus!!!

Datumfeld: Es soll nur letzter Tag im Monat ausgewählt werden können

Verfasst: 23.10.2014, 15:15
von armine
hallo vac,

man kann zwar jedes Datum auswählen, aber es wird der letzte Tag des Monats angezeigt:

exit - (JavaScript, client)

var d = this.rawValue.split("-") ;
d[1] = d[1] - 1 ;
this.rawValue = util.printd("yyyy-mm-dd",new Date(d[0],d[1],DiM(d[0],d[1])));

function DiM(Y, M) { // DoM ~ Days in Month
return [31,((Y%400)?((Y%100)?((Y%4)?0:1):0):1) + 28,31,30,31,30,31,31,30,31,30,31][M]
}

vg armine

Datumfeld: Es soll nur letzter Tag im Monat ausgewählt werden können

Verfasst: 23.10.2014, 21:47
von armine
Es geht kürzer:

var d = this.rawValue.split("-") ;
this.rawValue = util.printd("yyyy-mm-dd",new Date(d[0],d[1],0));

vg armine

Datumfeld: Es soll nur letzter Tag im Monat ausgewählt werden können

Verfasst: 29.10.2014, 19:33
von nele_sonntag
Hallo vac,

ein Feedback für den engagierten Helfenden ist immer hilfreich und nett!

LG Mandy

Datumfeld: Es soll nur letzter Tag im Monat ausgewählt werden können

Verfasst: 29.10.2014, 20:40
von radzmar
Hier auch noch eine Variante in FormCalc, die man ins exit Event des Datumfeldes setzen kann.

Code: Alles auswählen

var i = Date2Num($.formattedValue, "DD.MM.YYYY")
var m = Num2Date(i, "M")
while (Num2Date(i, "M") eq m) do
	i = Sum(i, 1)
endwhile
$ = Num2Date(i - 1, "DD.MM.YYYY")