[GastForen Programme Web/Internet PDF Grundlagen / Web / eForms formular mit javascript problem...

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Web/Internet - Webdesign, eForms
Themen
Beiträge
Moderatoren
Letzter Beitrag

formular mit javascript problem...

molekuel
Beiträge gesamt: 27

22. Okt 2003, 16:37
Beitrag # 1 von 3
Bewertung:
(1469 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
habe ein formular mit integrierte javascripts gemacht, aber die validierung funktioniert nicht so wie sie sollte :-/
auf einem button "check" liegt folgendes script:

----------------
var doc = event.target;
var testOk = false;
var printButton = this.getField("btn_print");

// Verschiedene Fields definieren
var name = this.getField("name_txt"); // textfeld
var arbeitsfahig = this.getField("arbeitsfahig"); // checkbox ja | nein
var gesundheit = this.getField("gesundheit_txt"); // textfeld

// wenn alle vorhanden sind dann ok
if (name.value && arbeitsfahig.value) {
testOk = true;
} else {
var str = "Es fehlen noch folgende Felder:\n";

// diese abfrage funktioniert einwandfrei!
if (!name.value)
str += "- Name und Vorname\n";

// allerdings scheint diese abfrage nie true zu sein
if (!arbeitsfahig.value){
str += "- Arbeitsfähigkeit\n";

// wobei das folgende wieder funktioniert...???
} else if (arbeitsfahig.value == "nein") {
if (!gesundheit.value) {
str += "- Grund für Arbeitsunfähigkeit\n";
}
}

app.alert(str, 3, 0);
}

// wenn ich hier aber ausgebe:
app.alert(arbeitsfahig.value);
// so erhalte ich die richtigen werte zurück!
// "Off" wenn checkbox nicht angekreuzt
// "nein" wenn option "nein" angekreuzt wurde...

// rest funktioniert wieder so wie es sollte
if(testOk) {
printButton.hidden = false;
}else {
printButton.hidden = true;
}
----------------

habe ich irgendwo einen syntax fehler gemacht und seh den wald vor lauter bäumen nicht mehr?? Wäre froh, wenn mir jemand helfen könnte!

lieber gruss, manuel
X

formular mit javascript problem...

Albrecht Fischer
Beiträge gesamt: 9

24. Okt 2003, 16:29
Beitrag # 2 von 3
Beitrag ID: #55981
Bewertung:
(1469 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Es ist halt so: Die nicht ausgewählten Felder haben in Acrobat den Wert "Off" und das ist nun halt mal nicht "false" bzw. "0". Nur "false", "0" oder "" würden aber bei der impliziten Typkonvertierung in eine boolsche Variable zu "false".
Alles andere (auch "Off") wird per definitionem zu "true".

Vgl. auch die Acrobat Scripting Reference. ("For checkbox fields, unless an export value is specified, the default used when the field is checked is "Yes" (or the corresponding localized string). When it is unchecked, its value is "Off" (this is also true for a radio button field when none of its buttons are checked).")

Ohnehin ist das Script insofern kritisch, als ja implizit eine dreiwertige Logik für das Feld arbeitsfahig vorausgesetzt wird:

>> if (name.value && arbeitsfahig.value)

Hier könnte man meinen, dass gepürft wird, ob das Feld überhaupt "bearbeitet" wurde. (Aber bei Nicht-Arbeitsfähigkeit ist das Feld bearbeitet und "Leer").

Fazit: Entweder man lebt mit den Exportwerten (d.h. einer ist "Off" und damit in boolscher Sicht immer true, den anderen kann man ggf. auch auf "false", "0" oder "" setzen um ein boolsches false zu erzeugen), oder man arbeitet statt mit Checkboxen mit einem Listenfeld. Damit lassen sich dann auch dreiwertige Logiken abbilden:

"" (=Standardwert ist boolsch 0)
"ja"
"nein"

Gruß

Albrecht Fischer


als Antwort auf: [#55605]

formular mit javascript problem...

Anonym
Beiträge gesamt: 22827

27. Okt 2003, 08:51
Beitrag # 3 von 3
Beitrag ID: #56176
Bewertung:
(1469 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
vielen dank!!
jetzt ist einiges klarer! :-)

m.


als Antwort auf: [#55605]