Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?!?!?

Geschrieben
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.

Geschrieben

<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.

Geschrieben
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

Geschrieben
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).

Geschrieben
.... und das es nix mit PHP zu tun glaube ich nicht
Dann 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 aus
Nämlich wie? Vergleiche die beiden Inhalte und du wirst garantiert einen Unterschied finden.
Geschrieben

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>

Geschrieben

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.

Geschrieben
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.
Geschrieben

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...

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...