Hi,
Du darfst die Variable nicht "name" nennen, denn dann änderst Du window.name, und dieser Name steht für das "target". Wenn er geändert wird, erscheinen alle Links in einem neuen Fenster, da das aktuelle nicht mehr so heißt, wie es soll. Es reicht aber schon, die Variable groß zu schreiben, dann ist der Konflikt behoben.
<script type="text/javascript">
<!--
var Name = prompt ("Bitte geben Sie ihren Namen ein!", "Name");
alert ("Hallo "+Name+"! Herzlich Willkommen auf meiner Homepage.");
alert ("Trage Dich bitte in mein Gästebuch ein. Danke!");
//-->
</script>
Weitere vorgenommene Änderungen:
- Script in HTML-Kommentarzeichen
- var (nur der Form halber)
- mehrere Rechtschreibfehler (Sie, Namen, Punkt, Trage, Dich)
Ich habe das Skript nicht getestet, aber ich denke, es sollte jetzt laufen.
2 frage:
Wie kann ich das machen das, das Eingabe-Meldung nur einmal kommt? Wen ich dan auf ein anderen Link klicke dan wieder auf der Startseite klicke kommt es nocheinmal.Es soll erst wieder kommen wen der IE beendet wurde. Wie geht das???
Dazu muß man Cookies programmieren oder top.name ändern (ist meist unbenutzt).
<script type="text/javascript">
<!--
if (top.name != "erledigt"){
var Name = prompt ("Bitte geben Sie ihren Namen ein!", "Name");
alert ("Hallo "+Name+"! Herzlich Willkommen auf meiner Homepage.");
alert ("Trage Dich bitte in mein Gästebuch ein. Danke!");
} else
top.nameif = "erledigt"
//-->
</script>
Ebenfalls ungetestet. Opera-Browser setzen beim Aktualisieren (Button oder F-Taste) auch top.name zurück, so daß der Alert wieder kommt, andere Browser lassen top.name beim Aktualisieren unverändert, so daß der Alert nicht wieder kommt, außer man öffnet ein neues Fenster, dies hat ja dann wieder keinen top.name.