Foros del Web » Programando para Internet » Javascript »

Tomar los valores de todos los inputs de un formulario

Estas en el tema de Tomar los valores de todos los inputs de un formulario en el foro de Javascript en Foros del Web. Buenas. Actualmente tengo un script que recoge los valores de los inputs de un formulario y los envía por $_POST. Código: var input=document.getElementById('formulario_text'); var name=document.getElementById('formulario_name'); ...
  #1 (permalink)  
Antiguo 16/10/2010, 07:01
 
Fecha de Ingreso: julio-2010
Mensajes: 16
Antigüedad: 14 años, 4 meses
Puntos: 0
Tomar los valores de todos los inputs de un formulario

Buenas.

Actualmente tengo un script que recoge los valores de los inputs de un formulario y los envía por $_POST.

Código:
var input=document.getElementById('formulario_text');
var name=document.getElementById('formulario_name');
var city=document.getElementById('formulario_city');
XMLHttpRequestObject.send("formulario_text="+input.value+"formulario_name="+name.value+"formulario_city="+city.value);
Sin embargo, con este método me veo obligado a crear una función javascript para todos y cada uno de los formularios que proceso en la página web, puesto que no tienen los mismos inputs.

Mi pregunta es si hay alguna forma de tomar todos los inputs de un form sin tener que tomar la ID de cada input. Así se podría utilizar una sola función para todos los formularios, ahorrando bastante código redundante que hace siempre lo mismo pero con distintos inputs.

Muchas gracias.
  #2 (permalink)  
Antiguo 16/10/2010, 07:19
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Tomar los valores de todos los inputs de un formulario

Prueba con esto:
Código Javascript:
Ver original
  1. function data(frm){
  2.  var input=frm.getElementsByTagName('input'), arr=[];
  3.  for(i=0;inp=input[i];i++){
  4.   arr[i]=inp.value;
  5.  }
  6. }
Esta función recoge el value de TODOS los inputs, por tanto también recogerá el del submit o el de los button, así que si lo necesitas se puede arreglar un poco.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 16/10/2010, 07:27
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Tomar los valores de todos los inputs de un formulario

Fijate así:
Código PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin t&#237;tulo</title>
<script>
function 
getData(formId){
    var 
f=document.getElementById(formId),e,i,r='';
    for(
i=0;e=f.elements[i];i++){
        
r+=e.name+'='+escape(e.value)+'&';
    }
    return 
r.substr(0,r.length-1);
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <input type="text" name="textfield" id="textfield" />
  <input type="text" name="textfield2" id="textfield2" />
  <input type="text" name="textfield3" id="textfield3" />
  <input type="button" name="button" id="button" value="Botón" onclick="alert(getData('form1'))" />
</form>
</body>
</html> 
Cocamos con _cronos2 :)
  #4 (permalink)  
Antiguo 16/10/2010, 07:38
 
Fecha de Ingreso: julio-2010
Mensajes: 16
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Tomar los valores de todos los inputs de un formulario

Maravilloso.

¡Mi mas sincero agradecimiento a los dos!

Etiquetas: inputs, tomar, formulario
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 18:39.