Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] ¿Cómo puedo enlistar todos los campos de un formulario?

Estas en el tema de ¿Cómo puedo enlistar todos los campos de un formulario? en el foro de Javascript en Foros del Web. Hola !!! deseo enlistar todos los campos existentes en un formulario y sus valores (que hayan sido escritos por el usuario), por ejemplo para el ...
  #1 (permalink)  
Antiguo 19/04/2014, 05:13
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Pregunta ¿Cómo puedo enlistar todos los campos de un formulario?

Hola !!!

deseo enlistar todos los campos existentes en un formulario y sus valores (que hayan sido escritos por el usuario), por ejemplo para el formulario:

Código:
<form id="formulario" name="formulario">

<input type="text" name="Nombre" id="Nombre"  />
<input type="text" name="Apellido" id="Apellido"  />
<input type="text" name="Ciudad" id="Ciudad"  />

<select name="Promocion" id="Promocion">
<option value="1">Promo 1</option>
<option value="2">Promo 2</option>
<option value="3">Promo 3</option>
</select>


</form>
Debería devolverme:

Nombre : Juan
Apellido : Zaragoza
Ciudad : Madrid
Promocion : 3

*** Suponiendo que el usuario haya escrito Juan, Zaragoza, Madrid y haya seleccionado PROMO 3 en el combobox...

¿Alguien podría darme una ayudadita?, he intentado con el siguiente código pero no se que hacer para formar la lista e identificar si es checkbox o input... o estoy muy perdido la verdad...:

Código:
  var campos = document.forms["formulario"].elements;
  for (i=0; i<elementos.length; i++){

aqui codigo para formar lista (Según)

  }
}
  #2 (permalink)  
Antiguo 19/04/2014, 11:22
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ¿Cómo puedo enlistar todos los campos de un formulario?

Ya tienes la idea, solamente te faltó recorrer al conjunto de elementos que contiene el formulario y en cada iteración, ir imprimiendo el Id y valor de cada uno de ellos.

Código Javascript:
Ver original
  1. var form = document.getElementById("formulario"),
  2.     elementos = form.elements,
  3.     total = elementos.length;
  4.  
  5. form.addEventListener("submit", function(e){
  6.     e.preventDefault();
  7.     for (i = 0; i < total; i++)
  8.         if (elementos[i].getAttribute("type") != "submit")
  9.             document.body.innerHTML += elementos[i].id + ": " + elementos[i].value + "<br />";
  10. }, false);

Esto sucederá cuando se haya mandado a procesar el formulario (evento submit), para lo cual, evito que se ejecute esta acción mediante el método preventDefault. Ya controlado dicho evento, proceso a recorrer al conjunto de elementos del formulario con ayuda de un bucle. En cada iteración, imprimiré los datos que deseo mostrar siempre y cuando no se trate del botón de tipo "submit" que es el que utilizo para el envío de los datos del formulario para su procesamiento.

DEMO

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 21/04/2014, 05:52
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo puedo enlistar todos los campos de un formulario?

Cita:
Iniciado por Alexis88 Ver Mensaje
Ya tienes la idea, solamente te faltó recorrer al conjunto de elementos que contiene el formulario y en cada iteración, ir imprimiendo el Id y valor de cada uno de ellos.

Código Javascript:
Ver original
  1. var form = document.getElementById("formulario"),
  2.     elementos = form.elements,
  3.     total = elementos.length;
  4.  
  5. form.addEventListener("submit", function(e){
  6.     e.preventDefault();
  7.     for (i = 0; i < total; i++)
  8.         if (elementos[i].getAttribute("type") != "submit")
  9.             document.body.innerHTML += elementos[i].id + ": " + elementos[i].value + "<br />";
  10. }, false);

Esto sucederá cuando se haya mandado a procesar el formulario (evento submit), para lo cual, evito que se ejecute esta acción mediante el método preventDefault. Ya controlado dicho evento, proceso a recorrer al conjunto de elementos del formulario con ayuda de un bucle. En cada iteración, imprimiré los datos que deseo mostrar siempre y cuando no se trate del botón de tipo "submit" que es el que utilizo para el envío de los datos del formulario para su procesamiento.

DEMO

Saludos

Funcionó fenomenal, lo adapté a mis necesidades y todo bien, te agradezco mucho por responder a mi pregunta!

Etiquetas: campos, formulario, input, select, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:47.