Zum Inhalt springen

Javascript-Problem in BE-Modul --> "ist null oder kein Objekt"

Erstellt am 5. Mai 2005 · 1 Antwort · letzte Antwort am 5. Mai 2005

Tags: Frage

Tobidobi ·

Hallo zusammen,
langsam gehen mir die Haare zum Raufen aus... Bin dabei, ein BE-Modul zu entwickeln und möchte folgendes realisieren:
Es gibt einige Grafiken auf der Seite, die mit einem javascript-Link umgeben sind. Wenn man draufklickt, soll ein String in ein text input field in einem Formular auf der Seite geschrieben werden.

Verzweiflung. Bekomme zumindest die Fehlermeldung im IE "top.content.list_frame.document.citymap.coordinates ist Null oder kein Objekt". Allerdings hab ich das Ding peinlich genau in GoLive nachgebaut und außerhalb von Typo3 funktioniert es, ist also kein pures JavaScript-Problem!
Ich habe auch schon die Funktion so abgeändert: top.content.list_frame.document.write('test') --> und das funktioniert. Es wird also auch der richtige Frame angesprochen, er verschluckt sich aber an Formular & Co. ...

Hier ein paar relevante Ausschnitte aus dem Code (gleich die HTML-Ausgabe!):
---------------------------
Die JavaScript function, die auch korrekt in die Seite eingebunden wird:

<script language="javascript" type="text/javascript">
		function setCoordinates(image) {
 	top.content.list_frame.document.citymap.coordinates.value = image;
				 	}
			</script>

----------------------------
Formular mit dem link-Wrap um das Bild

<form name="citymap" action="" method="POST">
  <label for="streetName">Street/Place name:</label>&nbsp;
    <input type="text" name="streetName" value="" size="35">
         <span style="width:20px;"></span><label for="coordinates">Map coordinates:</label>&nbsp;<input type="text" name="coordinates" value="" size="10"><span style="width:20px;"></span><input type="submit" value="Save"></form>

<table border="1"><tr><td><a href="javascript:setCoordinates('a01.gif')"><img src="D:/apache/xampp/htdocs/dev/fileadmin/citymap/a01.gif" alt="a01.gif" /></a></td></tr></table>
Tobidobi ·

Um Jahre gealtert 😢 habe ich nun die ernüchternd einfache Lösung vor mir:
Im BE gibt es standardmäßig schon ein <form>-element. Und <form>-Elemente verschachteln kommt gar nicht gut.
Der Schmerzlöser war also, mein selbst definiertes Formular rauszunehmen und die JS-Funktion wie folgt zu ändern:

top.content.list_frame.document.forms'.$formName.'.coordinates.value = image;

Ich hoffe, ich bewahre nun wenigstens einen anderen vor ähnlichen Dummheiten.
Tobi
#giggle#