DIV lässt sich mit innerHTML=""; nicht leeren :-/
Paul
- javascript
Hi!
Ich möchte mir ein kleines Berechnungsprogramm erstellen. Testweise gebe ich dazu die zwischendurch berechneten Werte in einem Div aus. Wenn ich die testfunktion nun mehrmals aufrufe soll vorher natürlich der Inhalt des DIVs mittels document.getElementById('test').innerHTML = ""; wieder gelöscht werden. Leider funktioniert das nicht. Nur wenn ich standardmäßig ins Div im HTMLcode schon etwas reinschreibe verschwindet dieses beim ersten Aufruf der Funktion. Ebenso wenn ich anstatt innerHTML = ""; mal innerHTML = "bla"; ausprobiere. Am Anfang des Divs erscheint dann ein bla, gefolgt von den Ausgabewerten. Rufe ich die Testfunktion nochmal auf kommen nur noch neue werte dazu, kein "bla" und nichts verschwindet.
Getestet in Firefox. Im Internet Explorer will das ding leider garnicht :-( Woran könnte das denn liegen?
mfg Paul H.
Hello out there!
Woran könnte das denn liegen?
See ya up the road,
Gunnar
Getestet in Firefox. Im Internet Explorer will das ding leider garnicht :-( Woran könnte das denn liegen?
Eigentlich müßte es gehen, dein Skript ist aber ein bisschen umständlich, um ein Array mit Kommassepariert auszugeben, kannst du join(',') verwenden.
Struppi.
Schade, mein posting ist wohl grade im Nichts verschwunden.
Habe das mit Join mal probiert. Leider geht es immernoch nicht :-( Interessanterweise wird der Inhalt des Divs immernoch nicht ersetzt sondern einfach angehängt.
Weiß nicht mehr weiter. In Firefox und Opera geht es nicht gescheit. In IE garnicht -.-
mfg Paul
Soo, es funktioniert jetzt :-)
Tut mir leid, der Fehler lag am Array, dieses wurde am Anfang der getvalues-Funktion garnicht geleert so dass sich die neuen Werte schon hier angehangen haben...
Im IE geht das ganze leider immernoch nicht, wie krig ich es auch da zum laufen?
mfg Paul
Habe das mit Join mal probiert. Leider geht es immernoch nicht :-(
Die Funktion heißt join() und mit der Fehlerbeschreibung kann dir natürlich keiner weiterhelfen. "probiert" und "geht nicht", bedeutet?
Natürlich geht es:
var arr = [1, 2, 3, 4, 5, 6];
alert(arr.join(','));
Weiß nicht mehr weiter. In Firefox und Opera geht es nicht gescheit. In IE garnicht -.-
Warum, hat dir bereits Cheatah gesagt.
Struppi.
Tut mir leid, die Ausgabe mit join funktioniert natürlich. Das war eher auf die Ausgabe ins DIV bezogen. Aber es geht ja nun :-)
Ja, im IE leider nicht. Das ist zwar nett dass ich nun weiß was der IE so macht aber weiterbringen tut mich das leider nicht.
Wie lös ich denn nun das Problemchen mit dem IE?
mfg Paul H.
Wie lös ich denn nun das Problemchen mit dem IE?
indem du keine Variabel verwendest die wie eine ID heißt oder indem du Variabeln lokal gültig machst.
Struppi.
Hi,
Wenn ich die testfunktion nun mehrmals aufrufe soll vorher natürlich der Inhalt des DIVs mittels document.getElementById('test').innerHTML = ""; wieder gelöscht werden. Leider funktioniert das nicht.
doch, das funktioniert einwandfrei.
Im Internet Explorer will das ding leider garnicht :-( Woran könnte das denn liegen?
Der IE ist so idiotisch und legt für alles, was eine ID hat, eine gleichnamige Variable an - im Prinzip ein register_globals für JavaScript. Dieser kannst Du nichts zuweisen.
Cheatah