Javscript propt werkt niet meer nadat er meer code in de functie staat.

Status
Niet open voor verdere reacties.

nubdienub

Gebruiker
Lid geworden
16 dec 2012
Berichten
5
Hallo helpmij leden, ik had s wat geklooit met javascript maar ik kom er niet helemaal uit. Als ik een variable aanmaak en een prompt meegeef dan werkt het nog. Ik start een html op en dan komt er een "vraagschermpje" in beeld, maar zodra ik er een switch of een if else lus bij in doe dan werkt het niet meer en blijft de pagina blank.

Code:
<!DOCTYPE html> 
<html>
<head>
<title>Opdracht 1 </title>
<script>
function vraagnaam()
{
var volledigenaam = prompt("Geef uw volledige naam op: ");


var dag=new Date().getDay();
var x = "";
 switch (dag)
 {
 case 0:
   x="Zondag";
   break;
 case 1:
   x="Maandag";
   break;
 case 2:
   x="Dinsdag";
   break;
 case 3:
   x="Woensdag";
   break;
 case 4:
   x="Donderdag;
   break;
 case 5:
   x="Vrijdag";
   break;
 case 6:
   x="Zaterdag";
   break;
 };


var d = new Date();
var n = d.getHours();
var begroeten = "";

if(n > 0 && <=6)
{
begroeten = "Goedenacht";
}
if(n > 6 && <=12)
{
begroeten = "Goedemorgen";
}	
if(n > 12 && <=18)
{
begroeten = "Goedemiddag";
}
if(n > 18 && <=24)
{
begroeten = "Goedenavond";
};

document.write(begroeten + " " + volledigenaam + ". Het is vandaag " + x);
}
</script>
</head>
<body>
<script>
vraagnaam();
</script>
</body>
</html>

Als ik dus alle javascript code weghaal behalve var volledigenaam = prompt("Geef uw volledige naam op: "); dan werkt het, komt er de switch of ifelse bij, dan blijft die leeg en werkt het niet. Iemand enig idee waarom dit is?
 
De foutconsole van Firefox geeft deze fouten:
Error: SyntaxError: unterminated string literal
Source File: file:///tmp/prompt.html
Line: 28, Column: 5
Source Code:
x="Donderdag;
Je bent de aanhalingstekens achter 'Donderdag' vergeten.
Error: SyntaxError: syntax error
Source File: file:///tmp/prompt.html
Line: 43, Column: 12
Source Code:
if(n > 0 && <=6)
Je controleert op meerdere plaatsen of het uur tussen twee waardes ligt. Bij beide vergelijkingen moet je de variabele gebruiken, dus:
[js]if (n > 0 && n <= 6)[/js]
Als je de aanhalingstekens toevoegt en de vier if's aanpast werkt je script wel.

[edit]Overigens hoor je aan te geven wat voor script het is. Dus in plaats van <script> moet je eigenlijk <script type="text/javascript"> gebruiken.[/edit]
 
Laatst bewerkt:
Mocht je het leuk vinden; een alternatieve manier:

[js]<!DOCTYPE html>
<html>
<head>
<title>Opdracht 1 </title>
<script type="text/javascript">
function vraagnaam()
{
var volledigenaam = prompt("Geef uw volledige naam op: ");
var dagen = ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"];
var dag = dagen[new Date().getDay()];

var begroetingen = ["Goedenacht", "Goedemorgen", "Goedemiddag", "Goedenavond"];
var begroeting = begroetingen[Math.ceil(new Date().getHours() / 6) - 1];

document.write(begroeting + " " + volledigenaam + ". Het is vandaag " + dag);
}
</script>
</head>
<body>
<script type="text/javascript">
vraagnaam();
</script>
</body>
</html>[/js]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan