Den 21-02-2009, skrev hcs89:
> burde det her så ikke virker (/hvad er det jeg gør forkert)?
>
> <html>
> <head>
> <script type="text/javascript">
>
> var txt = "<p>lol</p>";
> var x = prompt("lol?","10");
>
> for (i=0; i<x;i++)
> {
> txt+="<p>lol</p>";
> }
>
> getElementById("underside").innerHTML = txt;
>
> </script>
> </head>
>
> <body>
>
> <div id="underside">
> lool
> </div>
>
> </body>
> </html>
>
> (er bare et eksempel... burde skrive x paragraffer med 'lol' i.. inde
> i 'underside'...
Fordi du for det første mangler document foran getElementById( '...'),
og for det andet kører dit script inden siden er færdig, og til slut
overskrives teksten med "lool".
Du skal lave dit script i en funktion, der kaldes når dokumentet er
blev hentet :
<html>
<head>
.... meta, etc
<script type="text/javascript">
function rotfl() {
var txt = "<p>lol</p>";
var x = prompt( "lol?", "10");
for ( i=0; i<x; i++) {
txt += "<p>lol</p>";
}
document.getElementById( 'underside').innerHTML = txt;
}
</script>
</head>
<body onload="rotfl();">
....
<div id="underside">lool</div>
....
</body>
</html>
Vær opmærksom på, at visse ting ikke kan ændres med innerHTML.
Du kan ikke skrive eller ændre på f.eks. tabeller og select elementer.
Jeg er ikke sikker på at prompt er crossbrowser kompatibel.
Ovenstående vil desuden fejle, hvis der indtastes noget der ikke kan
fortolkes som et tal.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk