Puedes probar a convertir el número en una cadena y le pasas un bucle for caracter por caracter para comprobar que efectivamente es un dígito. si no lo es, le mandas un mensaje:
cad=""+form.txt.value // asignamos a cad el valor y lo convertimos en cadena
for(i=0;i<=cad.length;i++){
if(cad.charAt(i)!=1 && cad.charAt(i)!=2 ... ){alert("No es un número");break}
}
Otra forma que me parece mucho más curiosa (se me acaba de ocurrir),
es: en una variable capturas lo que vas a comprobar; en otra le asignas un parseFloat de la primera. Después le sumas 1 a cada una y si coincide es un número; de otra forma no.