Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
Datum soll größer als Heute sein
 Moderiert von: WebZopp, Gentleman, FileAffairs, acronaut Produkt: Adobe LiveCycle Designer Version nicht definiert  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
Winnie
Member


Eintragen seit: 1 Okt 2015
Herkunft:  
Berichte: 2
Status:  Offline
 Geschrieben: 27 Jun 2017 09:56

Text übernehmen

Antworten
Hallo Zusammen,

für ein Bestellformular suche ich nach einer Funktion, mit der ich für ein Datumsfeld vorgeben kann, dass kein Datum in der Vergangenheit inkl. Heute ausgewählt werden kann.
Am besten sollte dann eine Fehlermeldung erscheinen, dass das Datum in der Zukunft liegen muss (Heute plus 2 Werktage).

Wir haben in unserem Formular bisher alle Funktionen mit Hilfe von JavaScript erstellt und irgendwo gelesen, dass man FormCalc und JavaScript nicht mischen sollte.
Daher die Frage, ob es dazu eine JS-Funktion gibt. ;)

Vielen Dank schon einmal für eure Hilfe.

Anlage: Screenshot-Datum.PNG (27 Mal aufgenommen)

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2304
Status:  Offline
 Geschrieben: 27 Jun 2017 11:01

Text übernehmen

Antworten
Hallo Winnie,

versuche mal

... DateTimeField1::exit - (JavaScript, client)

var tmp = util.printd("yyyy-mm", new Date()) + (new Date().getDate() + 102).toString().replace(/^1/,"-") ;
if (this.rawValue < tmp) {
app.alert("Das Datum wurde auf den frühest möglichen Termin abgeändert.") ;
this.rawValue = tmp ;
}

vg armine

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2304
Status:  Offline
 Geschrieben: 27 Jun 2017 16:04

Text übernehmen

Antworten
Bitte enschuldige den Schnellschuss. So funktioniert das nur innerhalb eines Monats. Monatsübergreifend braucht es etwas mehr Code.

DateTimeField1::exit - (JavaScript, client)

var d = util.printd("yyyy-mm-dd", new Date()).split("-").map(Number) ;
var tmp = util.printd("yyyy-mm-dd", new Date(d[0], d[1] - 1, d[2] + 2)) ;
if (this.rawValue < tmp) {
app.alert("Das Datum wurde auf den frühest möglichen Termin abgeändert.") ;
this.rawValue = tmp ;
}

vg armine

Winnie
Member


Eintragen seit: 1 Okt 2015
Herkunft:  
Berichte: 2
Status:  Offline
 Geschrieben: 28 Jun 2017 05:43

Text übernehmen

Antworten
wow, super :D
Das funktioniert perfekt, vielen Dank.

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2304
Status:  Offline
 Geschrieben: 28 Jun 2017 08:13

Text übernehmen

Antworten
FormCalc und JavaScript mischen? Geht doch gar nicht. Du kannst aber beide Sprachen in einem Formular ohne Bedenken verwenden. FormCalc bietet zu deinem Problem den kürzeren Code:

form1.Inhalt.#subform[0].DateTimeField1[0]::exit - (FormCalc, client)

if (Date2Num($, "YYYY-MM-DD") < Date() + 2) then
xfa.host.messageBox("Das Datum wurde auf den frühest möglichen Termin abgeändert.")
$ = Num2Date(Date() + 2, "YYYY-MM-DD")
endif


 Uhrzeit 13:26





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1066 Sekunden (37% DB + 63% PHP). 19 verarbeitete Abfragen.