Veröffentlicht 25. Juli 200619 j Hi zusammen, folgendes habe ich: index.php <head> <script> function test() { alert("bla"); } </script> </head> <body> <textarea name="area1" cols="20" rows="5" onKeyDown="test()"></textarea> <?php include('main.inc.php'); ?> </body> [/php] [b]main.inc.php[/b] [php] echo '<textarea name="area2" cols="20" rows="5" onKeyDown="test()"></textarea>'; Bei <textarea1> oben kommt der Alert, bei <textarea2> in der include-Datei kommt Script Error... warum?!?!?
25. Juli 200619 j Script Error... ?!?!? Etwas genauer kannst du das nicht beschreiben? Kommt die Fehlermeldung vom Server oder Browser? Wo hast du das getestet (Browser)? Bei mir geht das Beispiel ohne Fehler getestet im Firefox 1.5.0.4 und im IE 6.0.
25. Juli 200619 j <script type="text/javascript"> als erstes. dann nutz mal firefox und gug nach was der dir in der Javascript-Konsole sagt. da dein fehler nix mit PHP zu tun hat, empfehle ich einfach mal die ergebnis-HTML Datei zu speichern und nur damit zu arbeiten. Die lösung kannst du dann in den PHP übernehmen.
25. Juli 200619 j Bei <textarea1> oben kommt der Alert, bei <textarea2> in der include-Datei kommt Script Error... warum?!?!? Welcher Fehler genau? Welcher Browser? Was steht im reinen HTML-Code? ICQ
25. Juli 200619 j Etwas genauer kannst du das nicht beschreiben? Kommt die Fehlermeldung vom Server oder Browser? Fehlermeldung kommt vom Browser...steht unten links in der Statusleiste "Script Error!" - das wars. Problem taucht auf in IE 6, FireFox 1.0. .... und das es nix mit PHP zu tun glaube ich nicht; denn der Fehler taucht nur auf, wenn ich eine Datei include und in der Datei den alert() ausgeben will. Schiebe ich den ausgelagerten Teil direkt rein, ohne include, dann geht es. Die HTML-Ausgabe des Skriptes sind in beiden Fällen gut aus (= fehlerfrei).
25. Juli 200619 j .... und das es nix mit PHP zu tun glaube ich nichtDann solltest du erstmal wirklich verstehen, was PHP eigentlich ist bzw. an der Stelle macht. Zu dem Zeitpunkt, wo der JavaScript Teil vom Browser ausgeführt worden ist hat der PHP Intepreter seine Arbeit längst abgeschlossen. Ob also der Output nun aus einem File kommt oder von PHP dynamisch erzeugt worden ist macht keinen Unterschied. Der Fehler liegt im Dateiinhalt und wie der erzeugt wird ist das erstmal sekundär. Die HTML-Ausgabe des Skriptes sind in beiden Fällen gut ausNämlich wie? Vergleiche die beiden Inhalte und du wirst garantiert einen Unterschied finden.
26. Juli 200619 j JavaScript-Ausgabe in der FireFox-Konsole ist "Test is not a function". Ausgabe des HTML-Quelltextes (mit der include-Datei): <html> <head> <title>Test</title> <script type="text/javascript"> function test() { alert("bla"); } </script> </head> <body> //... <textarea name="text_form" rows="8" onKeyDown="test()">bla blubb hhuu</textarea> </body> </html>
26. Juli 200619 j Also bei mir geht es problemlos (Firefox 1.5), aber du musst in der main.inc.php "<?PHP ... ?> hinzufügen, sonst parst es PHP nämlich nicht. Oder aber du verzichtest auf das echo und die Quotes.
26. Juli 200619 j JavaScript-Ausgabe in der FireFox-Konsole ist "Test is not a function".Und du bist dir sicher, dass Groß-Kleinschreibung in deinen Dateien genauso ist wie hier geschrieben? Diese Ausgabe lässt darauf schließen, dass du eine Funktion "Test" aufrufst, aber "test" deklariert hast.
28. Juli 200619 j test() war schon kleingeschrieben... nachdem ich Funktion mal test123() getauft habe, ging es... aber ich habe a) keine weitere Funktion mit dem Namen "test" und es wäre mir auch nicht bekannt, dass ich damit eine bestehende JavaScript-Funktion überschreibe. Zumal das Problem auch nur kommt, wenn ich include... wenn ich nicht include, dann stört ihn auch nicht der Name "test" ... sehr strange... Naja.. nun egal... heißt die Funktion halt andersch...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.