wahsaga: in iframe html seite mit layer laden -> javascript fehler!!!

Beitrag lesen

hi,

http://landhaus.esmartweb.com/testsite

da wo zuerst das willkommen läuft ist der iframe. klickt man auf vergleiche kommt die seite.

komisch nur dass nun die weiter() funktion richtig aufgerufen wird um zum 2. formular zu kommen, aber klickt man in dem jumpTo Menue auf verheiratet lädt die Funktion nicht die den Ehepartner Layer anzeigen soll.

ja. mein browser (opera 7) meldet mir in der javascript-konsole:

message: Statement on line 1: Reference to undefined variable: No such variable 'nix'

er kommt also nicht damit klar, wie du die funktion nix() aufrufst.

und wenn man mal in den quelltext schaut, ist das was du da machst auch ganz schön, 'tschuldigung, krank.

du hast ein select-feld mit options á la:
<option value="Javascript:nix()" selected>ledig</option>

und onchange wird dann eine von macromedia generierte funktion MM_jumpMenu() aufgerufen - die ist normalerweise dazu da, um über eine änderung von location auf eine andere seite weiterzuleiten.
das ist schon fehlerhaft, denn hier müsste m.E. die zuweisung an location.href und nicht an location erfolgen - da sieht man, was diese von irgendwelchen editoren generierten funktionen taugen (sofern das original ist, und nicht von dir verschlimmbessert?).

aber anstatt dies mit einem URL oder wengistens einem dateinamen zu machen, verwendet sie bei deiner art von gebrauch Javascript:nix(), um eine javascript-funktion aufzurufen - das ist schon eine ziemliche vergewaltigung der technik in meinen augen.

dadurch, dass als parameter für's _link_ziel "parent" übergeben wird, versucht die funktion in deinem frame dann "parent.location" einen wert zuzuweisen, und dabei geht wohl etwas schief.

ich würde folgendes vorschlagen:
die funktion MM_jumpMenu() schmeisst du aus dem onchange des selects raus, und rufst stattdessen eine eigene funktion auf.
also value für die options verwendest du einfache zahlen, und lässt dann in abhängigkeit von der ausgewählten zahl per switch() deine funktion die gewünschte weitere javascript-funktion aufrufen, die bei der anwahl der option ausgeführt werden soll.

und eigne dir die javascript-grundlagen an, anstatt dich von schlechtem, von editoren generierten code in die sch**** reiten zu lassen ...

gruss,
wahsaga