Funktionsaufruf aus .js-Datei funktioniert in Opera nicht
Jens Schärer
- javascript
Hallo,
ich habe eine HTML-Seite, auf welcher ich per Klick auf ein Bild eine Funktion aus einer Datei namens functions.js aufrufe. Dieser Funktion wird eine Textarea als Parameter übergeben.
Vereinfacht:
<img src="bild.jpg" onclick="boldText(tb);">
Die Datei ist mit <script type="text/javascript" src="javascript/functions.js"></script> in den Header des HTML-Dokumentes eingebunden.
Ein weiterer Funktionsaufruf bei <body onLoad="preloadImages();"> funktioniert einwandfrei, sowohl in Opera und im IE.
Wo liegt das Problem beim Klick auf das Bild ? Habs auch schon per Link statt Bild probiert, geht aber auch nicht. :( Im IE wird das Script korrekt ausgeführt.
das Script:
function boldText(textbox)
{
var text = prompt("Fetter Text", "");
if(text != null) textbox.value = textbox.value + "[b]" + text + "[/b]";
}
Danke schonmal für eure Hilfe.
Gruß,
Jens
Moin!
Vereinfacht:
<img src="bild.jpg" onclick="boldText(tb);">
Was ist "tb"? Das kenne ich nicht, und der Opera auch nicht.
function boldText(textbox)
{
var text = prompt("Fetter Text", "");
if(text != null) textbox.value = textbox.value + "[b]" + text + "[/b]";
}
_Wenn_ das übergebene Objekt tatsächlich eine Textbox wäre, dann würde die Funktion tatsächlich funktionieren. Ist es aber offenbar nicht.
Mach mal alert(textbox) an den Anfang der Funktion. Wenn da nicht "Object" ausgegeben wird, hast du den Fehler.
- Sven Rautenberg
Moin!
Hi!
_Wenn_ das übergebene Objekt tatsächlich eine Textbox wäre, dann würde die Funktion tatsächlich funktionieren. Ist es aber offenbar nicht.
Klar ist das eine Textarea, welche da übergeben wird und im IE funktionierts ja auch.
Mach mal alert(textbox) an den Anfang der Funktion. Wenn da nicht "Object" ausgegeben wird, hast du den Fehler.
Ich bekomme Object ausgegeben, da es sich um eine Textarea handelt, definitiv. Und auch das Script funktioniert im IE. Wenn ich den kompletten Funktionscode in die onclick="" reinschreibe, funktionierts komischerweise ?!
Gruß,
Jens
Moin!
Klar ist das eine Textarea, welche da übergeben wird und im IE funktionierts ja auch.
Dass es im IE funktioniert, hat nichts zu sagen. Der IE korrigiert viele Fehler eigenständig bzw. hat aufgrund von document.all auch ganz andere Defaultwerte.
Nochmal die Frage: Was ist das "td", was du da übergibst? Wo wird das definiert? Wie?
Mach mal alert(textbox) an den Anfang der Funktion. Wenn da nicht "Object" ausgegeben wird, hast du den Fehler.
Ich bekomme Object ausgegeben, da es sich um eine Textarea handelt, definitiv.
Hast du das Objekt entsprechend untersucht? Wohl kaum. Kann ja auch ein anonymes Objekt ohne Funktion sein, dass da übergeben wird.
Wenn ich den kompletten Funktionscode in die onclick="" reinschreibe, funktionierts komischerweise ?!
Ein weiteres Indiz dafür, dass dein übergebenes Objekt keine Textarea ist, sondern irgendwas anderss.
- Sven Rautenberg