Cita: eval("document.frm.elemento" + i + ".focus()"); en esta linea de codigo, las palabras document y elemento, son variables? o son palabras reservadas? ya que frm es el nombre en este caso del formulario
El objeto document es el principal después de window, no se a qué te refieres con palabra reservada, es decir, no se puede modificar. Sí que es una palabra reservada lógicamente, es un objeto básico en javascript.
La "palabra" elemento unido a la letra i en el bucle apuntan hacia el objeto elemento1, elemento2... son los campos de tu formulario. Eso lo puedes variar como gustes, es una trivialidad de su autor.
Cita: mi formulario contiene 10 campos a rellenar no sé si en esta linea deberia cambiar el 3 por 10
<input type="hidden" name="cantidad" value="3">
Sí, si te fijas en la línea:
var n = parseInt(document.frm.cantidad.value);
dentro de la funcion noVacio() el valor de n será el valor de ese campo hidden. Si tu formulario tiene 10 elementos que se llamen elementoN ahí debe haber un 10.
Cita: este codigo solo controla que se rellenen todos los campos y no queden vacio? y controla que un campo especifico sea solamente numerico como por ejemplo telefono?
Ese código sólo controla que los campos de texto no queden vacíos por la única condición que postula:
Código PHP:
bError = bError || (eval("document.frm.elemento" + i + ".value == ''"));
Si su contenido es inesperado o incorrecto desde un criterio que el programa desconoce, obviamente lo pasará por alto. Para validar un formulario y que el contenido sea con formato un numero de teléfono o una fecha debes meterte con validación de formularios. Hay muchos posts en el foro y muchas páginas en internet que te enseñarán a restringir cierto tipo de contenidos a un formulario.
Espero que te esté resolviendo tus dudas.
Un saludo.