externe javascript-Datei einbinden
Cedrikus
- html
- javascript
Hallo,
habe folgendes Problem: ich möchte ein externes Javascriptdokument in mein html-dokument einbinden, jedoch funktioniert das irgenwie nicht richtig. Hier mein Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="de">
<head>
<meta http-equiv="content-type" content= "text/html; charset =ISO-8859-1">
<title>Test</title>
<title> Javascript einbetten</title>
<script>
function senden(){
document.write("ahlloo");
}
</script>
<script src="eh.js"></script>
</head>
<body>
<p><input id="idVorname" size="10"> Vorname</p>
<p><input id="idSenden" type="button" value="senden"></p>
<p>
<script>meinHandler("idSenden","click", senden);</script>
</p>
</body>
</html>
Und hier die einzubindende Datei(eh.js):
function meinHandler(id, er, meth)
{
if(window.addEventListener)
document.getElementById(id).addEventListener(er, meth, false);
}
Es gibt jedoch keine Reaktion, wenn ich den Button drücke. Verschiebe ich nun aber das Einbinden innerhalb des body-p-blocks(siehe unterhalb) direkt vor das andere script funktioniert es plötzlich.
<body>
...
<p>
<script src="eh.js"></script>
<script>meinHandler("idSenden","click", senden);</script>
</p>
</body>
Das verstehe ich irgenwie nicht so ganz.
Des Weiteren checke ich nicht, wieso die folgende javascript datei nicht ausgeführt wird:
...
<body>
...
<p> <script src="mitte.js"></script> </p>
</body>
mitte.js:
document.write("halliooo");
verzeiht mir bin noch blutiger Anfänger.
Vielen Dank.
@@Cedrikus
Es gibt jedoch keine Reaktion, wenn ich den Button drücke.
Doch, es steht wie zu erwarten „ahlloo“ auf der (neuen) Seite.
Zu deinem Code noch ein paar Anmerkungen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Nicht mehr verwenden! Es gibt nur ein HTML, und das ist HTML5. Verwende als Angabe <!DOCTYPE html>
<meta http-equiv="content-type" content= "text/html; charset =ISO-8859-1">
Verwende als Zeichencodierung UTF-8 – immer und überall!
Statt per http-equiv
kannst du die Zeichencodierung in HTML auch einfach so angeben: <meta charset="UTF-8">
document.write("ahlloo");
Wenn du document.write()
nach dem Laden der Seite ausführst, wird der bestehende Seiteninhalt gelöscht. Ist es das, was du willst?
<p><input id="idVorname" size="10"> Vorname</p>
Jedes Eingabefeld muss eine Beschriftung haben – und Beschriftung meint nicht, dass etwas lediglich visuell in der Nähe des Eingabefeldes steht, sondern ein label
-Element.
Entweder mit for
-Attribut, welches sich auf die ID des Eingabefeldes bezieht:
<p><input id="idVorname" size="10"> <label for="idVorname">Vorname</label></p>
oder schachteln, dann geht’s auch ohne for
-Attribut:
<p><label><input id="idVorname" size="10"> Vorname</label></p>
(Wobei die Beschriftung üblicherweise vor (über) dem Eingabefeld steht.
<p><input id="idSenden" type="button" value="senden"></p>
Für Buttons gibt es in HTML ein button
-Element. Dieses sollte verwendet werden:
<p><button id="idSenden" type="button">senden</button></p>
Und was soll ohne JavaScript passieren?
LLAP 🖖
Tach!
Verwende als Zeichencodierung UTF-8 – immer und überall!
Dazu sollte man noch erwähnen, dass "verwende" sich nicht nur darauf beschränkt, die Angabe umzustellen. Man muss die Dokumente auch tatsächlich in UTF-8 abspeichern.
dedlfix.
@@dedlfix
Verwende als Zeichencodierung UTF-8 – immer und überall!
Dazu sollte man noch erwähnen, dass "verwende" sich nicht nur darauf beschränkt, die Angabe umzustellen. Man muss die Dokumente auch tatsächlich in UTF-8 abspeichern.
Natürlich. Deshalb hatte ich ja auch das Tutorial verlinkt. Worin im Abschnitt „Eine Zeichencodierung wählen und anwenden“ auf den gleichnamigen Artikel verwiesen wird, worin es heißt:
„Es ist aber wichtig zu verstehen, dass es nicht genügt, die Zeichencodierung im Dokument oder auf dem Server anzugeben. Das ändert nicht die Bytes; Sie müssen den Text in dieser Zeichencodierung speichern. (Die Angabe hilft dem Browser lediglich, die Bytesequenz zu interpretieren, in welcher der Text gespeichert ist.)“
LLAP 🖖
PS: Was macht der hässliche gelbe Kasten da? Ich Schlampe …