robotto7831a Geschrieben 18. Oktober 2005 Teilen Geschrieben 18. Oktober 2005 Hallo zusammen, ich habe mit JavaScript einen Ticker gebastelt. Der geht auch wunderbar mit dem IE. Aber mit dem Firefox irgendwie überhaupt nicht. Ich habe es jetzt soweit eingegrenzt, dass er in der Funktion function ticker_aktualisieren() { window.document.getElementById("ticker").innerHTML = reloadticker.formular.nachricht.value window.setTimeout("ticker_aktualisieren()",5000); } [/code] bei dem window.document.getElementById("ticker")..... im Firefox baden geht und ticker_aktualsieren nicht wieder aufgerufen wird. Ich habe es mit einem alert("hallo") getestet. Wenn das window.document.getElementById("ticker").... nicht drin ist wird der alert alle 5 Sekunden ausgegeben. Hat jemand eine Idee? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 18. Oktober 2005 Teilen Geschrieben 18. Oktober 2005 Hi Frank, ich meine in Erinnerung zu haben, dass "innerHTML" nur beim IE geht. Versuch mal stattdesssen "innerText". Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 18. Oktober 2005 Autor Teilen Geschrieben 18. Oktober 2005 Leider keine Änderung. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zirri Geschrieben 18. Oktober 2005 Teilen Geschrieben 18. Oktober 2005 hi, Dein reloadticker.formular.nachricht.value läuft gg die wand. was willst Du bezwecken ? gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tobias-digital Geschrieben 18. Oktober 2005 Teilen Geschrieben 18. Oktober 2005 ich meine in Erinnerung zu haben, dass "innerHTML" nur beim IE geht. Versuch mal stattdesssen "innerText". Hi! Muss das leider widerlegen, innerHTML ist eine ganz normale Javascript Eigenschaft: http://de.selfhtml.org/javascript/objekte/all.htm#inner_html Ich nutze innerHTML auch öfter mal, funktioniert durch die Browser. Grüße, Tobias Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 19. Oktober 2005 Teilen Geschrieben 19. Oktober 2005 ich habe vor 'Monaten' mal versucht ein Script zu schreiben das innerHTML, document.write und ähnliches benutzt...nach langer suche hat man mir dann erklärt das diese Befehle veraltet sind und nicht mehr unterstützt werden. Stattdessen ist mit Javascript-DOM das HTML-Element bzw. Textelement zu verändern. Entsprechend verwirrt bin ich, das es im Selfhtml drinsteht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 19. Oktober 2005 Teilen Geschrieben 19. Oktober 2005 Ich meine ich würde auch noch innerHTML nutzen und das geht auch. Vielleicht postet du mal was in der JavaScript Konsole für ein Fehler kommt. Dann kann man vielleicht auch besser ansetzen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tobias-digital Geschrieben 19. Oktober 2005 Teilen Geschrieben 19. Oktober 2005 ich habe vor 'Monaten' mal versucht ein Script zu schreiben das innerHTML, document.write und ähnliches benutzt...nach langer suche hat man mir dann erklärt das diese Befehle veraltet sind und nicht mehr unterstützt werden. Stattdessen ist mit Javascript-DOM das HTML-Element bzw. Textelement zu verändern. Entsprechend verwirrt bin ich, das es im Selfhtml drinsteht. Hi! Also veraltet ist es nicht, es wird jedoch immer weniger benutzt. Ein Grund ist z.B., dass X(H)TML Dokumente nicht gültig sind wenn document.write benutzt wird. Man benutzt dann eher document.createTextNode und appendChild und sowas (also Methoden Strikt nach dem DOM). Gruß, Tobias Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 20. Oktober 2005 Autor Teilen Geschrieben 20. Oktober 2005 Also sowohl window.document.getElementById("ticker").innerText = "hallo"; als auch reloadticker.formular.nachricht.value = "hallo"; funktionieren ncht. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 20. Oktober 2005 Autor Teilen Geschrieben 20. Oktober 2005 Vielleicht postet du mal was in der JavaScript Konsole für ein Fehler kommt. Dann kann man vielleicht auch besser ansetzen. Das ist es ja. Es kommt kein JS Fehler. Oder zeigt der Firefox JS Fehler nicht unten links in der Ecke an wie der IE? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Oktober 2005 Teilen Geschrieben 20. Oktober 2005 Das ist es ja. Es kommt kein JS Fehler. Oder zeigt der Firefox JS Fehler nicht unten links in der Ecke an wie der IE? Frank Nein, zeigt er nicht, dafür gibt es unter Extras die JavaScript-Konsole Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 20. Oktober 2005 Autor Teilen Geschrieben 20. Oktober 2005 Ah. Nun gut. Fehler: reloadticker.formular has no properties Quelldatei: ticker.js Zeile: 55 Da steht: window.document.getElementById("ticker").innerText = reloadticker.formular.nachricht.value Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 20. Oktober 2005 Teilen Geschrieben 20. Oktober 2005 Was ist denn dein realoadticker für ein Objekt? Global? Was soll "reloadticker.formular.nachricht.value" denn sein? Sollte es vielleicht "document.formular.nachricht.value" sein? Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 ich empfehle da mit getElementById und nicht mit document.formular.name... zu arbeiten, das ist allgemein sicherer gegen evtl. Namenskollisionen. Im javascript sind bestimmte Wörter reserviert (name, form, value u.a.) und wenn so ein fall auftritt gibt es oft keine 'verständlichen' Fehlermeldungen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 21. Oktober 2005 Autor Teilen Geschrieben 21. Oktober 2005 Also reloadticker ist ein iframe. Im iframe wird eine refresh.php geladen. Und dort ist formular das Form und nachricht die Textbox. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 Hi, gib dem Iframe eine ID und dem Object, das du darin suchst auch. document.getElementById('IFrame_obj').document.getElementById('Such_obj') Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 22. Oktober 2005 Autor Teilen Geschrieben 22. Oktober 2005 Also irgendwie funktioniert das nicht. In der Hauptdatei steht: <script type="text/javascript"> <!-- window.setTimeout("ticker_aktualisieren()",1000); --> </script> <iframe src="refresh.php" width="600" height="50" border="0" id="iframereload" name="reloadticker"></iframe> [/code] In der refresh.php steht: [code] <form name="formular"> <input tpye="text" id="nachricht_neu" name="nachricht" size="80" value="<?PHP echo $ausgabetext; ?>"> </form> Die Funktion ticker_aktualisieren sieht wie folgt aus: function ticker_aktualisieren() { alert(document.getElementById('iframereload').document.getElementById('nachricht_neu').value); window.setTimeout("ticker_aktualisieren()",5000); } [/code] Als Meldung kommt nur NULL. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 23. Oktober 2005 Autor Teilen Geschrieben 23. Oktober 2005 So er funktioniert jetzt nachdem ich ein bischen mit JS und den Funktionen gespielt habe. Eine wichtige Änderung ist, dass ich die ticker_aktualisieren aus der JS Datei genommen hab und direkt in die Seite gesetzt habe. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.