Kann man bei der "if" Bedingung eine URL angeben?
Florian
- html
Hallo
Ich habe ein kleines Problem. Ich habe eine If-Schleife erstellt. Bei verschiedenen Eingaben sollen verschiedene URLs geöffnet werden. Nur erscheint leider immer nur ein dummes Infofenster. So sieht der Code vereinfacht aus:
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var Eingabe = window.prompt("Text:","");
switch(Eingabe) {
case "1":
alert("Antwort 1");
break;
case "2":
alert("Antwort 2");
break;
case "3":
alert("Antwort 3");
break;
}
// -->
</script>
</body></html>
Nun kommt bei "alert" die Antwort zum eingebenen Text. Wenn ich aber bei "alert" eine URL eingebe kommt da (logischer Weise) auch nur eine URL in dem Infofenster, aber nicht die Seite selbst. Was muss ich eingeben, damit es eine URL lädt?
Oh sorry, das ist nicht die "if" sondern die "switch" Schleife. Entschuldigung verwechselt ;-)
moin
Oh sorry, das ist nicht die "if" sondern die "switch" Schleife. Entschuldigung verwechselt ;-)
sind beides keine schleifen (auch wenn man aus switch in bestimmten sprachen eine machen kann (nicht in JS!)), sondern lediglich "schalter", denn das heißt switch.
if fragt lediglich ab, ob eine bedingung wahr ist, dann wird der entsprechende ast abgearbeitet.
while, for und etwa foreach sind jedoch schleifen, weil sie die anweisung im primärast (die haben ja nur den) so lange wiederholen, bis die formulierte bedingung (das kann und sollte ein ausdruck sein, muss aber nicht) unwahr wird. dann wird mit den anweisungen nach der schleife fortgefahren...
Fabian
moin
Ich habe ein kleines Problem. Ich habe eine If-Schleife erstellt. Bei verschiedenen Eingaben sollen verschiedene URLs geöffnet werden. Nur erscheint leider immer nur ein dummes Infofenster. So sieht der Code vereinfacht aus:
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var Eingabe = window.prompt("Text:","");
switch(Eingabe) {
case "1":
alert("Antwort 1");
break;
case "2":
alert("Antwort 2");
break;
case "3":
alert("Antwort 3");
break;
}
// -->
</script>
</body></html>
pack das script erstmal in den head rein, das gehört sich so ;-)
Nun kommt bei "alert" die Antwort zum eingebenen Text. Wenn ich aber bei "alert" eine URL eingebe kommt da (logischer Weise) auch nur eine URL in dem Infofenster, aber nicht die Seite selbst. Was muss ich eingeben, damit es eine URL lädt?
alert(); gibt den (die) angegebenen parameter in einer alert-meldung aus.
wenn eine URL geladen, und nicht ausgegeben soll, so verwende statt alert(); folgende Konstruktion:
case "x":
location.href = x;
break;
Fabian
alert(); gibt den (die) angegebenen parameter in einer alert-meldung aus.
wenn eine URL geladen, und nicht ausgegeben soll, so verwende statt alert(); folgende Konstruktion:
case "x":
location.href = x;
break;
Das geht nicht so ganz. Wie muss das denn aussehen? So:
case "1":
location.href = www.url.de;
break;
Das hat aber nicht geklappt. Kam ne Meldung von nem Laufzeitfehler. Anders gings auch nicht. Was muss ich da eingeben?
Hallo Florian,
location.href = www.url.de;
Das hat aber nicht geklappt. Kam ne Meldung von nem Laufzeitfehler. Anders gings auch nicht. Was muss ich da eingeben?
location.href = "www.url.de";
Vielleicht solltest Du noch mal ein bisschen in
http://selfhtml.teamone.de/javascript/index.htm
lesen.
Grüße
Andreas
Hallo
Tach
Ich habe ein kleines Problem. Ich habe eine If-Schleife erstellt.
Wie kann man eine if-Schleife erstellen?
Schleifen haben etwas mit Wiederholung zu tun, if nicht.
Bei verschiedenen Eingaben sollen verschiedene URLs geöffnet werden. Nur erscheint leider immer nur ein dummes Infofenster. So sieht der Code vereinfacht aus:
Naja, wenn man alert hinschreibt, kommt auch ein alert raus.
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var Eingabe = window.prompt("Text:","");
switch(Eingabe) {
case "1":
alert("Antwort 1");
break;
case "2":
alert("Antwort 2");
break;
case "3":
alert("Antwort 3");
break;
}
// -->
</script>
Und wo ist jetzt das if, um das es gehen soll?
</body></html>
Nun kommt bei "alert" die Antwort zum eingebenen Text. Wenn ich aber bei "alert" eine URL eingebe kommt da (logischer Weise) auch nur eine URL in dem Infofenster, aber nicht die Seite selbst. Was muss ich eingeben, damit es eine URL lädt?
Anstelle des alert ein
self.location.href="http://www.deineDomain.de/deine/Seite.html";
Andreas
Hallo
Moin Moin !
Ich habe ein kleines Problem. Ich habe eine If-Schleife erstellt.
Das wäre echt Klasse, denn normalerweise ist IF keine Schleife. Nur, weil irgendwo hinter IF eine geschweifte Klammer steht, ist es noch lange keine Schleife. Sonst wären Funktionen ja auch Schleifen.
Aber ich fange schon wieder an, Newbies zu vergraulen. Zu Deinem Problem:
Bei verschiedenen Eingaben sollen verschiedene URLs geöffnet werden. Nur erscheint leider immer nur ein dummes Infofenster. So sieht der Code vereinfacht aus:
Nun kommt bei "alert" die Antwort zum eingebenen Text. Wenn ich aber bei "alert" eine URL eingebe kommt da (logischer Weise) auch nur eine URL in dem Infofenster, aber nicht die Seite selbst. Was muss ich eingeben, damit es eine URL lädt?
Du willst in das, was window.prompt erzeugt, eine URL eingeben. Richtig ?
Die soll dann in dem Browser-Fenster geöffnet werden. Richtig ?
So geht's:
location.href=window.prompt("Eingabe:","");
Wenn Du noch rausfinden willst, ob es eine URL oder etwas anderes ist:
var eingabe=window.prompt("Eingabe:","");
if ((eingabe.length>7) && (eingabe.substring(1,7)=='http://') {
location.href=eingabe;
} else {
alert('Was meinst Du ? Ist '+eingabe+' eine URL ? Ich meine: Nein');
}
Alexander
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var Eingabe = window.prompt("Text:","");
switch(Eingabe) {
case "1":
alert("Antwort 1");
break;
case "2":
alert("Antwort 2");
break;
case "3":
alert("Antwort 3");
break;
}
// -->
</script>
</body></html>