O to Ci chodziło ?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>What's next?</title>
</head>
<body>
<div id="to"></div>
<button id="klik">Klik</button>
<div id="wygrana"></div>
</body>
</html>
<script type="text/javascript">
var ile = parseInt(prompt("Ile książek?"), 10);
for(var i=1; i<=ile; i++)
{
document.getElementById("to").innerHTML += "<input type=text class=ks><br>";
}
function rob(){
var pula = document.querySelectorAll('.ks');
var w = Math.floor((Math.random() * ile));
document.getElementById("wygrana").innerHTML = pula[w].value;
}
var x = document.getElementById("klik").addEventListener("click",rob);
</script>
var ile = parseInt(prompt("Ile książek?"), 10);
Zawsze dodawaj do parseInt(numer, 10) tą 10. Dlaczego ? wtedy parser wie że chodzi Ci o liczby w systemie dziesiętnym, a nie innym. Dobry nawyk.
document.querySelectorAll('.ks')
Tutaj najpierw pobierz wszystkie dostępne pola z klasą ks. Tyle starczy.
var w = Math.floor(Math.random() * ile);
Tutaj losujesz do ilu ma być liczba losowana. +0 jest tutaj zbędne.
document.getElementById("wygrana").innerHTML = pula[w].value;
A tutaj znajdź w wyszukanej puli miejsce "w" i przypisz do wygranej jej wartość.
Myślę że już wiesz jak to powinno działać :)