promt (Hilfe!!!)
Sven
- html
Hi, erst mal code:
<script type="text/javascript">
name=prompt ("Bitte geben sie ihren Name ein!","Name");
alert ("Hallo "+name+"! Herzlich Willkommen auf meiner Homepage");
alert ("Tragt dich bitte in mein Gästebuch ein. Danke!");
</script>
Das klapt alles wunderbar, so wie ich das wollte. Aber wen ich dan auf ein Link klicke dan öffnet sich ein neues Fenster. Das will ich nicht. Wen ich jetzt diesen satz von da oben weglasse:
name=prompt ("Bitte geben sie ihren Name ein!","Name");
Dan öffnet sich kein neues Fenster.Das ist richtig!! Wie kann ich das jetzt machen das er kein neues Fenster öffnet?? Aber es soll das Eingabe-Meldung kommen (name=prompt ("Bitte geben sie ihren Name ein!","Name");).
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???
--------
Danke im vorraus
MFG
Sven!
Hi
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???
in Frames kannst Du eine Variable setzen, die nach der ersten Abfrage den Wert true bekommt, dann - mit eine if-Anweisung - kannst Du abfragen, ob der Besucher schon mal begrüßt wurde.
z.b.
gruss = false;
if (!gruss)
{
//Hier kommt Dein Code
}
Ohne Frames ist es nicht zu machen, IMHO.
Kiska
vergessen
z.b.
gruss = false;
if (!gruss)
{
//Hier kommt Dein Code
gruss = true;
}
Kiska
vergessen
z.b.
gruss = false;
if (!gruss)
{
//Hier kommt Dein Code
gruss = true;
}
Kiska
Hi, habe es so gemacht:
<script type="text/javascript">
gruss = false;
if (!gruss)
{
name=prompt ("Bitte geben sie ihren Name ein!","Name");
alert ("Hallo "+name+"! Herzlich Willkommen auf meiner Homepage");
alert ("Tragt dich bitte in mein Gästebuch ein. Danke!");
gruss=true;
}
</script>
geht aber nicht :-( Was mach ich falsch???
MFG
Sven!
Hi,
geht aber nicht :-( Was mach ich falsch???
Wenn Du Frames verwendest, musst den Script in Deiner index.html schreiben. Ansonsten geht, ja die Variable 'gruss' verloren.
Kiska
hallo Kiska,
in Frames kannst Du eine Variable setzen
Das ist nicht richtig. Variablen werden in Script- bzw. Programmiersprachen eingesetzt (Javascript, Perl, PHP, TCL, C/C++, JAVA usw.) und markieren bestimmte Speicherbereiche, die für an die Variable zu übergebende Inhalte freigehalten werden sollen.
die nach der ersten Abfrage den Wert true bekommt, dann - mit eine if-Anweisung - kannst Du abfragen, ob der Besucher schon mal begrüßt wurde.
Das ist allerdings richtig. Nur bezieht es sich eben _nicht_ auf Frames, sondern auf eine (beliebige) Variable
Ohne Frames ist es nicht zu machen, IMHO.
Den Satz streichen wir ganz schnell, ok ?
Christoph S.
hallo Sven,
name=prompt ("Bitte geben sie ihren Name ein!","Name");
Das klapt alles wunderbar, so wie ich das wollte. Aber wen ich dan auf ein Link klicke dan öffnet sich ein neues Fenster. Das will ich nicht. Wen ich jetzt diesen satz von da oben weglasse:
name=prompt ("Bitte geben sie ihren Name ein!","Name");
Dan öffnet sich kein neues Fenster.
gut beobachtet ;-)
"prompt" ist eine Javascript-Methode, die aber nun einmal ein eigenes (kleines) Fenster öffnet, darum kommst du nicht herum. Schau mal bei http://selfhtml.teamone.de/javascript/objekte/window.htm#prompt nach ...
Daß die Meldungen zweimal kommen, _kann_ damit zusammenhängen, daß du eben auch zwei "alert" in dein Javascript gescvhrieben hast. Laß es doch bei einem alert. Und daß es immer wieder erscheint, wenn du auf deine Startseite klickst, hängt sicher damit zusammen _wie_ du diese Javascript-Funktion aufrufst. Aber das hast du noch nicht verraten, wie du das machst.
Christoph S.
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:
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.