robotto7831a Geschrieben 18. Oktober 2005 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
kills Geschrieben 18. Oktober 2005 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
robotto7831a Geschrieben 18. Oktober 2005 Autor Geschrieben 18. Oktober 2005 Leider keine Änderung. Frank Zitieren
zirri Geschrieben 18. Oktober 2005 Geschrieben 18. Oktober 2005 hi, Dein reloadticker.formular.nachricht.value läuft gg die wand. was willst Du bezwecken ? gruss Zitieren
tobias-digital Geschrieben 18. Oktober 2005 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
Aiun Geschrieben 19. Oktober 2005 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
Schiller256 Geschrieben 19. Oktober 2005 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
tobias-digital Geschrieben 19. Oktober 2005 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
robotto7831a Geschrieben 20. Oktober 2005 Autor Geschrieben 20. Oktober 2005 Also sowohl window.document.getElementById("ticker").innerText = "hallo"; als auch reloadticker.formular.nachricht.value = "hallo"; funktionieren ncht. Frank Zitieren
robotto7831a Geschrieben 20. Oktober 2005 Autor 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
Krain Geschrieben 20. Oktober 2005 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
robotto7831a Geschrieben 20. Oktober 2005 Autor 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
kills Geschrieben 20. Oktober 2005 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
Aiun Geschrieben 21. Oktober 2005 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
robotto7831a Geschrieben 21. Oktober 2005 Autor 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
kills Geschrieben 21. Oktober 2005 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
robotto7831a Geschrieben 22. Oktober 2005 Autor 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
robotto7831a Geschrieben 23. Oktober 2005 Autor 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
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.