Auch das schafft keine Abhilfe.
... ach, das hab ich übersehen:
Folgender Code:
document.getElementById("foo").value = randString(10);
schreibt den String in deine Textarea. Er befindet sich jedoch außerhalb deiner Funktion und wird deshalb nicht mit der Funktion aufgerufen.
Weiters benötigt die Funktion einen Parameter, der die Länge der Zeichenkette festlegt, wenn du diesen nicht setzt liefert die Funktion einen Leerstring.
Du musst also document.getElementById("foo").value in deine Funktion packen und bei <body onLoad="printRandString()"> eine Zahl an die Funktion übergeben.
lg
So z.B.:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
function printRandString(x){
var s = "";
while(s.length<x&&x>0){
var r = Math.random();
s+= (r<0.1?Math.floor(r*100):String.fromCharCode(Math.floor(r*26) + (r>0.5?97:65)));
}
console.log(s);
document.getElementById("foo").value = s;
}
</script>
</head>
<body onLoad="printRandString(10)">
<textarea id='foo' style='width:100%;height:200px'>dsf</textarea>
</body>
</html>