Seite 1 von 2
Wenn ... dann ...
Verfasst: 14.09.2007, 15:37
von marhenke2
Hallo zusammen,
vielleicht kann mir jemand helfen.
Ich bräuchte ein Script für folgende Aufgabe:
Wenn Feld A = 8 bis13:59 Stunden dann schreibe in das Feld B den Wert 6, wenn aber Feld A = 14 bis 23:59 Stunden dann schreibe in das Feld B den Wert 12, wenn aber Feld A = 24 Stunden dann schreibe in das Feld B den Wert 24.
Es soll also geprüft werden welcher Wert in das Feld A geschrieben wird und je nach dem was eingetragen wird, soll ein bestimmter Wert an das Feld B übergeben werden.
Freue mich auf Antworten ;o)
Viele Grüße
Mirko
Wenn ... dann ...
Verfasst: 18.09.2007, 11:01
von Mike
Hi,
grundsätzlich, wenn das Feld A ein Datums-/Zeitfeld mit Einstellung Zeit ist (Formatierung HH:MM) und B ein Numerisches Feld, sollte es so funktionieren
[font=courier new] ----- Formular1.#subform[0].B::calculate - (JavaScript, client) ---------------------[/font]
[font=courier new]var tmpTime = new Date();
tmpTime.setTime(Date.parse("Tue, 1 Jan 2000 " + A.formattedValue + ":00"));
var tmpHours = tmpTime.getHours();[/font]
[font=courier new]if (tmpHours >= 8)
{
if (tmpHours < 14)
6
else if (tmpHours < 24)
12
else if (tmpHours == 24)
24;
}
else 0;[/font]
Allerdings gibt es noch das Problem, dass es die Zeit 24:00 nicht gibt, sondern statt dessen 00:00. Weiterhin war nicht definiert, welcher Wert außerhalb der definierten Zeiten in B eingetragen werden soll; dafür habe ich dann "0" genommen.
Viele Grüße
Michael Rettkowitz
http://www.formular-praxis.de
Wenn ... dann ...
Verfasst: 01.10.2007, 11:44
von marhenke2
Hallo Michael,
vielen Dank für Ihr Script. War 2 Wochen nicht da. Deshalb erst jetzt Antwort von mir. Werde das Script heute einbauen und mal durchtesten und mich dann melden.
Viele Grüße
Mirko Marhenke
Wenn ... dann ...
Verfasst: 05.10.2007, 09:20
von marhenke2
Jetzt habe ich ein kleines Verständnisproblem. Bei welchem Feld hinterlege ich das Script? Bei A oder bei B?
Freue mich auf Antwort.
Wenn ... dann ...
Verfasst: 05.10.2007, 11:46
von Mike
Bei B und zwar beim Ereignis 'calculate' (siehe Kopfzeile)
[font=Courier New]----- Formular1.#subform[0].B::calculate - (JavaScript, client) --------[/font]
Viele Grüße
Michael
Wenn ... dann ...
Verfasst: 08.10.2007, 07:59
von marhenke2
Irgendwie bekomme ich es nicht hin
Hier liegt mal das Beispiel zum Download bereit:
http://www.mediadesign-group.de/calculate.pdf
Mike, wären Sie so nett und schauen da mal rein?
Wäre echt klasse. Freue mich auf Antwort von Ihnen.
Viele Grüße
Mirko
Wenn ... dann ...
Verfasst: 08.10.2007, 09:41
von Mike
Sorry, das war mein Fehler. Ich dachte wohl irgendwie, ich wäre im LifeCycle Designer Forum.
Für Acrobat Forms müsste das Skript, das beim "B"-Feld unter "Berechnung/ Benutzerdef. Berechnungsskript" erfasst werden müsste, so lauten.
[font=courier new]var tmpTime = new Date();
tmpTime.setTime(Date.parse("Tue, 1 Jan 2000 " + this.getField("A").valueAsString + ":00"));
var tmpHours = tmpTime.getHours();[/font]
[font=courier new]if (tmpHours >= 8)
{
if (tmpHours < 14)
this.getField("B").value = 6
else if (tmpHours < 24)
this.getField("B").value = 12
else if (tmpHours == 24)
this.getField("B").value = 24;
}
else this.getField("B").value = 0;[/font]
Viele Grüße
Michael
Wenn ... dann ...
Verfasst: 08.10.2007, 11:18
von marhenke2
Hallo Michael (Mike) ;o)
jetzt funktioniert alles. Vielen, vielen Dank!
Viele Grüße
Mirko
Wenn ... dann ...
Verfasst: 18.06.2009, 11:16
von acronaut
Hi,
am besten machst Du das mitd er "Switch"-Funktion.
Gehen wir mal davon aus, dass Dein erstes Dropdown-Feld den Namen "Zahl" hat und das andere Feld "Ergebnis" heißt. In dem Fall müsstest Du unter den Eigenschaften des "Ergebnis" Feldes unter "Berechnung" => "benutzerdefiniertes Berechnungsscript" folgtendes Script verwenden:
Code: Alles auswählen
var MeineZahl = this.getField("Zahl").value;
var MeinErgebnis;
switch(MeineZahl)
{
case "1":
MeinErgebnis = "A";
break;
case "2":
MeinErgebnis = "B";
break;
case "3":
MeinErgebnis = "C";
break;
}
if(Mein Ergebnis != "")
this.getField("Ergebnis").value = MeinErgebnis;
Grüße,
Andreas Vogel
Wenn ... dann ...
Verfasst: 04.07.2009, 09:35
von armine
Hallo Rochie,
die einfachste Lösung ist wohl, aus der Dropdown-Liste mittels "switch" ins Ausgabefeld zu schreiben.
switch (this.rawValue ) {
case "1": Ausgabe_alpha.rawValue = "";
break;
case "2": Ausgabe_alpha.rawValue = "A";
break;
case "3": Ausgabe_alpha.rawValue = "B";
break;
default: Ausgabe_alpha.rawValue = "C";
}
case "1": wurde eingefügt, für denn Fall, dass eine versehenliche Auswahl auch wieder gelöscht werden kann.
Statt langer Erklärung anbei das PDF.
Gruß
armine