Optionsfeld überprüfen ob ausgewählt

Die Möglichkeiten und Tücken von Formularen
Antworten
topses
Beiträge: 4
Registriert: 24.04.2018, 14:34

Optionsfeld überprüfen ob ausgewählt

Beitrag von topses » 27.04.2018, 17:43

Hallo,

ich möchte ein pdf-Formular (mit Acrobat DC) vor dem Speichern überprüfen, ob alle Pflichtfelder ausgefüllt sind. Dazu habe ich eine Schaltfläche "Speichern unter" ins Formular eingefügt und dort bei Aktionen ein JavaScript hinzugefügt.
Habe ein Script gefunden, mit dem es wunderbar klappt, bis auf ein Optionsfeld. Das wird nicht geprüft, obwohl ich es unter Optionsfeld -> Eigenschaften als erforderlich markiert habe.

Hier das Script, dass ich benutzt habe:

allgood();
function allgood()
{
var mel;
mel=""
for (var i=0;i<this.numFields;i++)
{
var fName=this.getNthFieldName(i);
var f=this.getField(fName);
if ((f.type != "button") && f.required && (f.value.length<1))
{
mel=mel + fName + ", ";
}
}
if (mel==""){
app.execMenuItem("SaveAs");
}
else
{app.alert("Bitte vor dem Speichern alle erforderlichen Pflichtfelder ausfüllen: " + mel);
}
}

Welchen Befehl mit genauer Syntax muss wo eingefügt werden, dass das Feld mit kontrolliert wird und auch bei der Meldung (app.alert) mit angegeben wird. Name des Optionsfeldes ist "Bilder" mit 2 Optionen "Ja" und "Nein" und natürlich nur eines von beiden auswählbar. Beim Öffnen des Dokumentes ist keines angewählt. Habe leider keine Ahnung von Java und blutiger Anfänger in Acrobat. Habe schon rumgegoogelt, aber ich bekomme es nicht hin.

Vielen Dank.

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

Re: Optionsfeld überprüfen ob ausgewählt

Beitrag von BAlheit » 28.04.2018, 11:25

Nicht aktivierte Optionsfelder haben den Wert "Off". Die Länge des Wertes kann also nie kleiner als 1 sein.

topses
Beiträge: 4
Registriert: 24.04.2018, 14:34

Re: Optionsfeld überprüfen ob ausgewählt

Beitrag von topses » 29.04.2018, 18:02

Vielen Dank, aber ich kenn mich, wie schon geschrieben in JavaScript nicht aus.
Wie muss denn dann der/die Befehl(e) lauten und wo muss ich dann einfügen.
Muss ja eigentlich auch ein if Befehl sein, also ähnlich wie für die Textfelder
if ((f.type != "button") && f.required && (f.value.length<1)) (das ist doch der Befehl, ob das Pflichttextfeld ausgefüllt ist, oder?)

Habe leider kein Script mit Optionsfelder gefunden, welches ich erfolgreich einbauen konnte. Entweder kam ne Fehlermeldung oder es hat sich beim Speichern unter Button nichts getan.

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

Re: Optionsfeld überprüfen ob ausgewählt

Beitrag von BAlheit » 30.04.2018, 10:55

Sowas wie dies:

Code: Alles auswählen

if (f.type != "button" && f.required && (f.value.length<1 || (f.type == "checkbox" && f.value == "Off")))

topses
Beiträge: 4
Registriert: 24.04.2018, 14:34

Re: Optionsfeld überprüfen ob ausgewählt

Beitrag von topses » 30.04.2018, 20:13

Leider hat es so nicht geklappt :(

Aber mit einer kleinen Änderung funktioniert es jetzt genauso, wie ich es will. Statt f.type == "checkbox", (wie vorne bei "button") f.type != "checkbox".

Spitze, vielen Dank :D . Ich habe es versucht mit einem neuen if Befehl, hat aber nicht geklappt. Manchmal ist es einfacher als man denkt. Wäre ich so nie drauf gekommen.

Antworten