Función para recorrer los elementos de un formulario y sus propiedades con Javascript cliente.
Este es un simple ejemplo en el que podemos ver las propiedades NAME,TYPE y VALUE. (existen muchas más)
Para ello usaremos la colección elements que nos proporcionara todos los nodos del documento.
Usando la propiedad document.frm.elements.length podremos saber el número de items y así recorrer todos los elementos del documento HTML
<script>
function RecorrerForm()
{
var sAux="";
var frm = document.getElementById("formUsuario");
for (i=0;i<frm.elements.length;i++)
{
sAux += "NOMBRE: " + frm.elements[i].name + " ";
sAux += "TIPO : " + frm.elements[i].type + " "; ;
sAux += "VALOR: " + frm.elements[i].value + "\n" ;
}
alert(sAux);
}
</script>
<form id="formUsuario">
<p>
<LABEL for="nombre">Nombre : </LABEL>
<input type="text" value="" name="nombre"></br>
<LABEL for="nombre">apellidos : </LABEL>
<input type="text" value="" name="apellidos"></br>
<LABEL for="nombre">telefono : </LABEL>
<input type="text" value="" name="telefono"></br>
<LABEL for="nombre">ciudad : </LABEL>
<input type="text" value="" name="ciudad"></br>
<LABEL for="nombre">pais : </LABEL>
<input type="text" value="" name="pais"></br>
<input type="submit" value="Aceptar" onclick="javascript:RecorrerForm();" >
</p>
</form>
Posiblemente este ejemplo no tenga mucha útilidad pero es una pequeña muestra de la potencia de javascript al recorrer la jerarquia de NODOS de un documento HTML.
Vale muy buena web incluso hoy me habia salido una duda parecida, quiero validar que el numero de elementos “checados” de un arreglo de tipo check obviamente, sea mayor a 2 y me han dicho que se podia en una sola linea, nos vemos saludos
Muy buen blog!!
Muchas gracias por la info! muy util!
Gracias brother no me acordaba como recorrer los controles de un formulario tu ejemplo me sirvio y mucho, gracias…
de que tiene poca utilidad te equivocas, esta es la clave para poder enviar cualquier formulario mediante ajax
al trabajar con ajax resulta muy util, Gracias!!
Muy buen código, era lo que ocupaba, muchas gracias