Sven Rautenberg: Fehlermeldung beim Formularabschicken innerhalb von Javascript

Beitrag lesen

Moin!

Du hast ein komplexes Problem...

Im IE 5.5 ergibt dieser Code einen Laufzeitfehler in Zeile 0, Fehler: Objekt erwartet. Im Script-Debugger werden je nachdem, ob auf den Link oder auf Return geklickt wird, folgende 2 Zeilen gekennzeichnet:

onsubmit='javascript:return checksuche();' und
onclick='javascript:return checksuche();'

onclick, onmouseover, onmouseout, onsubmit, onirgendwas... - alle haben eine Gemeinsamkeit: Bitte kein "javascript:" davorsetzen! Diese Attribute sind Event-Handler, das bedeutet, sie können nur Javascript ausführen, alles andere wäre sinnlos. Bei einem Link <a href="irgendwas"> muß man "javascript:" davorschreiben, damit der Browser weiß, was er da als URL hat, und nicht versehentlich solch eine Seite vom Server abruft.

Außerdem reicht es vollkommen, wenn du nur onsubmit prüfst, ob das Formular in Ordnung ist.

Punkt zwei: Im <form> steht: target="_top". Das mußt du natürlich ändern, wenn das Ergebnis des Formulars in einen bestimmten Frame gehen soll.

Die Folgeseite wird zwar angezeigt, aber eben diese Fehlermeldung kommt, und außerdem wird meine Fuktion nicht aufgerufen.

Wenn Fehler entdeckt werden, dann wurde das, was fehlerhaft ist, nicht gemacht. Formular abschicken geht (das hat mit Javascript nichts zu tun), aber Prüfen geht nicht wegen falschem Aufruf.

Interessanterweise schreibt mir der Netscape 4.77 gar keine Fehlermeldung.

Bestimmt tut er das, nur versteckt. Wenn du in die URL-Zeile "javascript:" eingibst (das hat jetzt nichts mit dem "javascript:" von eben zu tun), dann öffnet er die Javascript-Konsole, in der nacheinander alle auftretenden Fehler angezeigt werden. Und das sogar brauchbarer, als beim IE ohne Debugger.

- Sven Rautenberg