Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
wtwinni
Beiträge: 5
Registriert: 04.08.2015, 16:09

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von wtwinni » 04.08.2015, 16:39

Hallo zusammen,

ich brauche Hilfe.

Ich habe ein PDF Dokument mit mehreren Textfeldern und habe folgendes vor.
Wenn Feld 1 z.B. "Text1" enthält, soll in Feld 2 "2.000" stehen.
Enthält Feld 1 z.B. Text2", soll in Feld 2 "5.000" stehen.

Lässt sich dies mit einem Script lösen?

Vielen dank im Voraus.

BAlheit
Beiträge: 837
Registriert: 16.08.2013, 12:22

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von BAlheit » 05.08.2015, 11:37

Bei der Berechnung von Feld 2 folgendes Skript verwenden:

Code: Alles auswählen

var wert = this.getField("Feld 1").value;
if (wert == "Text1") {
  event.target.value = "2.000";
} else if (wert == "Text2") {
  event.target.value = "5.000";
}
Bernd Alheit

wtwinni
Beiträge: 5
Registriert: 04.08.2015, 16:09

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von wtwinni » 06.08.2015, 09:33

vielen Dank für die schnelle Antwort.
Leider passt es noch nicht ganz. Lag aber an meiner Fragestellung.

Es geht darum: Wenn in dem Feld1 ein bestimmtes Wort vorkommt, soll in Feld2 eine andere Zahl stehen.

Wäre toll, wenn so etwas möglich wäre.

Vielen dank

BAlheit
Beiträge: 837
Registriert: 16.08.2013, 12:22

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von BAlheit » 07.08.2015, 11:52

Und was passt jetzt nicht?

Bernd Alheit

wtwinni
Beiträge: 5
Registriert: 04.08.2015, 16:09

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von wtwinni » 07.08.2015, 13:06

Er führt die Änderung nur durch, wenn in dem Feld 1 explizit nur das entsprechende Wort z.B. "Sommer" steht. Sobald noch anderer Text enthalten ist, erkennt er dies nicht mehr.
z.B. "Wir haben jetzt Sommer"
In diesem Fall wird das Feld 2 nicht mehr geändert.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von armine » 08.08.2015, 09:45

Hallo wtwinni,

du solltest dich zum Thema RegEx schlau machen. Wenn du fest an tippfehler-freie Eingaben glaubst, kannst du es mal so versuchen:

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

JeBeHue
Beiträge: 4
Registriert: 28.09.2015, 22:17

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von JeBeHue » 30.09.2015, 16:58

Hey wtwinni,

ich finde deine Idee super. Habe da an mein altes Problem gedacht.

Ich wollte aus vielen Dropdownlisten die Auswahlen zählen.

Beispiel:

Feld 1: Auswahl Text1
Feld 2: Auswahl Text1
Feld 3: Auswahl Text3
Feld 4: Auswahl Text1
Feld 5: Auswahl Text3
Feld 6: Auswahl Text1

Anzahl1 Text1: 4
Anzahl2 Text2: 0
Anzahl3 Text3: 2

Anzahl1 sollte sein, funktioniert aber nicht. Es ist auch kein elegantes Script. Mit nur einem Feld geht das, jedoch bei der Reihe streikt es.

var wert = this.getField(„Field1").value;
if (wert == „Text1") {event.target.value = +1;}
var wert = this.getField(„Field2").value;
if (wert == „Text1") {event.target.value = +1;}
var wert = this.getField(„Field3").value;
if (wert == „Text1") {event.target.value = +1;}
var wert = this.getField(„Field4").value;
if (wert == „Text1") {event.target.value = +1;}
var wert = this.getField(„Field5").value;
if (wert == „Text1") {event.target.value = +1;}
var wert = this.getField(„Field6").value;
if (wert == „Text1") {event.target.value = +1;}

Leider funktioniert das nicht so einfach. Eine Idee?

JeBeHue
Beiträge: 4
Registriert: 28.09.2015, 22:17

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von JeBeHue » 02.10.2015, 13:43

Ich habe es jetzt anders aber immer noch zu Fuß geschrieben.
Mir fehlt die Syntax für eine Schleife.
jedoch stehe ich mit einem ganz andere Problem da:

Warum streikt das Script ab Zeile 30????
Es sind doch immer die gleichen Zeichen nur kopiert?

Kann mir da jemand das Brett vor dem Kopf wegnehmen?

var gesamtHeim = 0;

if (this.getField('Dropdown-Liste1').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste2').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste3').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste4').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste4').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste5').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste6').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste7').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste8').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste9').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste10').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste11').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste12').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste13').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste14').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste15').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste16').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste17').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste18').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste19').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste20').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste21').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste22').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste23').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste24').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste25').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste26').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste27').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste28').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste29').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste30').value == 'Heimspiel') {gesamtHeim++;}
if (this.getField('Dropdown-Liste31').value == 'Heimspiel') {gesamtHeim++;}
event.value = gesamtHeim;

BAlheit
Beiträge: 837
Registriert: 16.08.2013, 12:22

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von BAlheit » 02.10.2015, 13:53

Ich würde folgendes verwenden:

Code: Alles auswählen

for (var ind = 1; ind <=31; ind++) {
if (this.getField("Dropdown-Liste"+ind).value == "Heimspiel") gesamtHeim++;
}
Bernd Alheit

JeBeHue
Beiträge: 4
Registriert: 28.09.2015, 22:17

Wenn Feld "X" enthällt... - dann im Feld "Y" folgendes Anzeigen

Beitrag von JeBeHue » 02.10.2015, 14:03

das klingt logisch, aber da bekomme ich Syntax Fehler. Ich glaube ich sollte Sonntag einfach in den Urlaub, das ist cleverer. Aber es fuchst schon ein bißchen.

Kann es sein dass der Syntaxfehler kommt weil das Feld "Drohdown-Liste..." auch mal kein "Heimspiel" drin hat? Obwohl, nee - dat ist dem wurst.:(

Antworten