06. februar 2008 - 12:38Der er
9 kommentarer og 1 løsning
Nybegynder Spørgsmål
Hej Eksperter. Jeg er lige begyndt at lære JavaScript, men jeg forstår simpelthen ikke hvorfor dette her ikke virker, har siddet og kigget det igennem 1000 gange snart. Det er sikkert forholdsvis nemt, nogle der lige gider kigge på det? På forhånd tak. <html> <head> <title>w00t</title>
<script type="text/javascript"> function display() { var name=prompt("What is your name?"); if(name==null && name=="") { document.write("Error! You did not type a name"); } else { var hello=alert("Hello "+name); } }
Du bør dog nok rette: if(name==null && name=="") til: if(name==null || name=="")
Det kan jo ikke være begge dele.
document.write("Error! You did not type a name"); bør være: document.getElementById("error").firstChild.nodeValue="Error! You did not type a name"; Og så skal du oprette elementet: <div id="error"> </div> der hvor teksten skal vises.
Og "var hello=" kan du vel ligeså godt fjerne. Der er ingen grund til at lægge alert-boksen i en variable.
Ellers ser det fint ud, når du bare afslutter <script ...> med </script>.
-- og det vil da være konceptuelt rigtigere at bruge en alert og ikke hverken en document.write eller en boks med tekst (to be alert = at være opmærksom, to be alerted = at blive gjort opmærksom på !-)
Så lidt, har lige et spørgsmål mere, hvis nu jeg gerne vil have den til at komme frem med sådan en "Click me!" box, efter min fejlmeddelse, hvordan gør man så det?
Man kan vist ikke bare gøre sådan som jeg ville gøre i PHP med bare at afslutte scriptet og så genoptage det, ligesom sådan her:
<script type="text/JavaScript"> function display() { var name=prompt("What is your name?"); if(name==null || name=="") { document.write("Error! You did not type a name"); </script> <input type="button" value="Click me!" onclick="display()"> <script type="text/JavaScript"> } else { var hello=alert("Hello "+name); } } </script>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.