Foros del Web » Programando para Internet » Javascript »

Cómo diferenciar campos text de checkbox y/o radio

Estas en el tema de Cómo diferenciar campos text de checkbox y/o radio en el foro de Javascript en Foros del Web. Hola muchachos... estoy trabajando con Ajax en un buscador de registros. Este buscador está compuesto de un formulario en donde se filtran los registros a ...
  #1 (permalink)  
Antiguo 06/02/2008, 08:51
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 21 años, 2 meses
Puntos: 2
Cómo diferenciar campos text de checkbox y/o radio

Hola muchachos... estoy trabajando con Ajax en un buscador de registros.
Este buscador está compuesto de un formulario en donde se filtran los registros a buscar y para ahorrarme trabajo hice una función que, sin importar cómo se compone el formulario, se recogen todos los campos y valores y se mandan mediante el Ajax:

Código:
function leer_campos(form_id)
{
	var formulario = getID(form_id);
	if (formulario.length > 0)
	{
		var cadena = '';
		for (i = 0; i < formulario.length; i++)
		{
			if (i > 0)
			{
				cadena += '&';
			}
			cadena += formulario.elements[i].name+'='+formulario.elements[i].value;
		}
		return cadena;
	}
}
Esta función lo que hace es generar una cadena del tipo clave=valor&otra_clave=otro_valor en base al contenido del formulario.

el tema es que tanto un campo text como radio o checkbox, en firefox, tienen el mismo nombre "HTMLInput" y si hago un .checked, los text me devuelven false... entonces no sé cómo puedo hacer para que tomar los valroes de los campos normals y los valores de los radio/checked seleccionados

Espero se me haya entendido y puedan ayudarme

saludos!
  #2 (permalink)  
Antiguo 06/02/2008, 09:38
 
Fecha de Ingreso: julio-2002
Ubicación: Capital Federal
Mensajes: 66
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Cómo diferenciar campos text de checkbox y/o radio

ajax? prototype te ahorra todo ese trabajo con dos funciones locas (envio de datos y parseo del formulario).

http://www.prototypejs.org
__________________
Adrián (@ RHCP I Wanna Be Funky Flea)
  #3 (permalink)  
Antiguo 06/02/2008, 09:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años
Puntos: 772
Re: Cómo diferenciar campos text de checkbox y/o radio

Hola nachopro

Prueba así:

Código:
if (formulario.elements[i].type=='checkbox') // .type=='radio'
Saludos,
  #4 (permalink)  
Antiguo 06/02/2008, 09:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 10 meses
Puntos: 1284
Re: Cómo diferenciar campos text de checkbox y/o radio

Hola:

Los campos con distintos tipos deberían tener distinto nombre... podrían admitirtelo los navegadores, pero luego tienes también que pensar en la recogida de datos en el servidor... un lema muy usado en cuestiones informáticas es "divide y vencerás"... verás que organizando mejor tu código te resultará más fácil cualquier modificación (u otros)...

Flea: Supongo que te va bien con tu prototype, pero no solucionan todos los problemas... incluso solo haces la referencia sin plantear ninguna solución... anímate y mójate dando una respuesta con código.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 06/02/2008, 10:03
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 21 años, 2 meses
Puntos: 2
Re: Cómo diferenciar campos text de checkbox y/o radio

Mil gracias JavierB era justo lo que necesitaba, intenté consultar al respecto pero no daba con el .type :)
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 14:43.