Bernhard Peissl: Fehler in Netscape 'first is not defined'

Beitrag lesen

Hi,

also, ich hab mich jetzt ein bißchen gespielt und muß schon
sagen - wirklich verstehen werde ich diese Browser nie...

da bist du nicht allein ;-(

Also das Problem läßt sich ganz einfach dadurch lösen, daß man
den in der Funktion sty befindlichen Funktionsaufruf von
GenerateTable nicht mit einem erneuten Auslesen der Variable aus
dem Formfeld bewerkstelligt, sondern einfach mit der der Funktion
sty übergebenen Variable 'anzahl' (die ja eigentlich genau dieser
Wert ist).

ja. Da kann es auch keine Probleme geben.

Wohlgemerkt: den Aufruf der Funktion sty in der Form OnClick="sty
(first.anzahl.value);" habe ich hierbei belassen, daß heißt man
könnte vermuten, daß es nicht an dieser Art der Formulierung lag,
so wie Du ja geschrieben hast.

Im Formular selbst wundert mich das nicht so arg, dass du da kein "document." brauchst, mit onClick="sty(this.anzahl.value)" funktioniert ja auch. Allerdings wundert mich, dass der NS so tolerant ist !

ABER: Wenn ich in nun den Funktionsaufruf in der Funktion sty so
wie Du vorgeschlagen hast IN der Funktion anstatt 'anzahl' oder
auch 'first.anzahl.value' schreibe, dann funktioniert es auch.

Was meinst du da? Was funktioniert IN der Funktion?

// anzahl = document.forms['first'].elements[0].value;
oder
// if (anzahl > 0) GenerateTable(first.anzahl.value); ....}

dass letzteres funktioniert kann ich mir echt nicht vorstellen, aber
wie du schon gesagt hast. Die Browser werden uns ein ewiges Rätsel
bleiben ;-)

Meine Schlußfolgerung: Netscape hat die "korrektere"
Formulierung 'documents.form...' lieber, nimmt aber
auch 'first.anzahl.value'  - aber nur, wenn es sich dieser
Ausdruck nicht innerhalb einer anderen Funktion befindet...

Ich kann dir nur sagen, mach es lieber so wie ich dir vorgeschlagen habe, so stimmts auf _jeden_ Fall. Ausser du stehst auf graue Haare :)

Grüsse,
Bernhard