• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Fehlermeldung Hilfe

Sasserl

Neues Mitglied
Hallo Zusammen, ich übe mich gerade im HTML (bin blutiger Anfänger :-/) und komme nicht weiter.
Und zwar bekomme ich folgende Fehlermeldung im Firebug: "syntax error missing) after argument list."

Hier ist mein Code:
document.addEventListener("DOMContentLoaded", function(event) {

if (saskia == 1) {
document.write("<img src="moto1.jpg">")
}
if (saskia == 2) {
document.write("<img src="moto1.jpg">")
}
if (saskia == 3) {
document.write("<img src="Städtereisen.jpg">")
}
if (saskia == 4) {
document.write("<img src="Tastenhandy.jpg">")
}
if (saskia == 5) {
document.write("<img src="Waschmittel.jpg">")
}

});

</script>
</body>

Seht ihr zufällig den Fehler? Vielen 1000 Dank für eure Hilfe!!!!
 
Ich hab das jetzt nicht 1:1 nach gestellt, aber es sollte daran liegen wie du deine Strings/Zeichenketten ausgibst,
wenn du dir das in einem Text-Editor anguckst (Notepad++ z. B. ist ganz nett) fällt das eher auf:

Code:
if (saskia == 1) {
    document.write('<img src="moto1.jpg">')
}

Du versuchst quasi mehrere Strings auszugeben, willst aber eigentlich nur einen (deins könnte man auch mit "+" verknüpfen aber wäre bissl umständlicher).

Und wenn du viele solcher Vergleiche mit saskia hast, nimm lieber http://www.w3schools.com/js/js_switch.asp
In etwa dann:
Code:
switch(saskia) {
    case 1:
        document.write('<img src="moto1.jpg">');
        break;
    case n:
        code block
        break;
    default:
        default code block
}

Achso und jede Zeile mit einem ";" abschließen, das spart dir später weiteren Ärger ;)
 
Danke für eure Antworten.
Ziel ist auf eine Variable "saskia" im Kontext (Output) zuzugreifen. Ist der Output saskia=1 soll Bild1 auf der Seite angezeigt werden, ist der Output saskia=2 soll Bild2 auf der Seite angezeigt werden usw.
Versuche es gerade mal mit dem Switch...
 
Ok Fehlermeldung ist weg...nun wird mir aber noch kein Bild angezeigt. Der Code sieht jetzt wie folgt aus:
document.addEventListener("DOMContentLoaded", function(event) {

switch(saskia) {
case "saskia=1":
document.write('<img src="moto1.jpg">');
break;
case "saskia=2":
document.write('<img src="auto1.jpg">');
break;
case "saskia=3":
document.write('<img src="Städtereisen.jpg">');
break;
case "saskia=4":
document.write('<img src="Tastenhandy.jpg">');
break;
case "saskia=5":
document.write('<img src="Waschmittel.jpg">');
break;}

});

(Der Output "saskia" kann Werte von 1-5 annehmen)
 
Wenn "saskia" Werte von 1-5 annehmen kann, solltest du das auch so schreiben :)
sprich case 3: usw. so wie du es geschrieben hast, tritt davon nie etwas ein.

Deine Bilder müssen dann übrigens, so wie du es geschrieben hast, auch im selben Pfad wie das HTML (bzw. dein JavaScript) liegen.
 
Mh...ok. Aber ich muss ihm ja sagen, "wenn die Variable saskia=1 mach das Bild". Verstehe leider nicht ganz wie ich das anders deklarieren kann....
Die Bilder liegen im selben Pfad
 
Jap richtig muss du schon deklarieren aaaaber, im "switch(saskia)" wird ja überprüft, welchen Wert diese Variable hat ;)

Das deklarieren und zuweisen machst du vor dem switch, könnte also so aussehen:
Code:
var saskia;

saskia = 3;

switch(saskia){}

Wo der Wert von "saskia" herkommt, muss du dann eben Wissen ;)

Wenn du generell mit JS noch Probleme hast finde ich das hier immer sehr nützlich:
http://www.codecademy.com/de/learn
 
ok super, danke Chronos. Nun wird mir das Bild angezeigt, aber der Text der Seite nicht mehr (siehe Fettgedruckt)....

<html lang="de">
<head>


<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Fa_Pferdestärken</title>
</head>

<body>
<!-- Sichtbarer Dokumentinhalt im body -->
<h1 style= "color:orange; font-size:50px" > Firma Pferdestärken </h1>
<p style= "color:orange; font-size:35px" > Inhaber Klaus Raser </p>
<h2 style= "color:green; font-size:40px" > Ihr Partner für Auto- und Motorradzubehör</h2>



<p> In Kooperation mit:
<a href="Startseite.html">Tempolimit GmbH, HH </a>
</p>





<script type="text/javascript">
document.write('<scr'+'ipt type=\"text/javascript\" src=\"http://stage3.xxxxx.net/rc?xxxxx=xxxxx&sid=xxxxx"><\/scr'+'ipt>');



document.addEventListener("DOMContentLoaded", function(event) {
var saskia;
saskia=3;
switch(saskia) {
case 'saskia=1':
document.write('<img src="moto1.jpg">');
break;
case 'saskia=2':
document.write('<img src="auto1.jpg">');
break;
case 'saskia=3':
document.write('<img src="Städtereisen.jpg">');
break;
case 'saskia=4':
document.write('<img src="Tastenhandy.jpg">');
break;
case 'saskia=5':
document.write('<img src="Waschmittel.jpg">');
break;
default:
document.write('<img src="zubehör.jpg">');
}

});

</script>
</body>






</html>
 
Jap das ist normal, document.write() überschreibt den gesamten Inhalt der Seite, du kannst ja mal aus Spaß nach dem dem Switch noch mal ein document.write mit z. B. einen <p>text</p> ausgeben.

Du bräuchtest hier an der Stelle einen Platzhalter, was hier ganz gut gezeigt wird:
http://stackoverflow.com/questions/...sing-javascript-without-erasing-the-whole-pag

default wird genommen, weil du in deinem case immer noch "saskia=n" stehen hast, dort darf aber nur die Zahl stehen - noch mal, es wird mir dem verglichen was direkt im Switch steht, und dann in den case ob dies auch dem Wert entspricht.
 
habe das nun alles durchstudiert...ist mir glaube ich zu hoch :-/...verstehe leider nicht wie ich das in meinem Fall umschreiben kann. Verstehe das mit dem Platzhalter nicht
 
Zurück
Oben