Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/09/2008, 10:10
Avatar de bichomen
bichomen
 
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 21 años, 5 meses
Puntos: 2
formulario dinamico Ajax

Estoy automatizando una función, para no tener que crear un a función nueva cada vez que creo un formulario, la idea es sencilla, en el id de cada elemento le asigno un número:

Código:
id="elemento1"
id="elemento2"
id="elemento3"
...
luego para enviar el formulario:

Código HTML:
<form name="for" action="" onSubmit="formulario('url','x')"> <--- la x es el numero de elementos que tiene el formulario si pongo 4 inputs, por ejemplo,  pongo un 4 
y aquí el ajax en cuestión:

Código HTML:
function nuevoAjax()
{
	var xmlhttp=false;
 	
	try 
	{
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} 
	catch (e) 
	{
 		try 
		{
 			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 		} 
		
		catch (E) 
		{
 			xmlhttp = false;
 		}
  	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
	{
 		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function formulario(url,elementos)
{
	ele = new Array();
	var element, ele1, elemento;	
	
	contenedor = document.getElementById("detalles");
		
	for(var i=1; i<=elementos; i++)
	{
		element = 'elemento' + i;
		ele[i] = document.getElementById(element).value;
	}
	
	ajax=nuevoAjax();
	ajax.open("POST",url,true);
	ajax.onreadystatechange=function() 	
	{
		if (ajax.readyState==4) 
		{
			contenedor.innerHTML = ajax.responseText;
	 	}
		else 
		{
			contenedor.innerHTML = 'Cargando...';
	  	}
	}	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	for(var i=1; i<=elementos; i++)
	{
		ele1 = 'elemento' + i;
		
		if(ele1 == 'elemento1')
		{
			elemento = ele1 + '=' + ele[i];
		}
		else if(ele1 != 'elemento1')
		
		elemento +=  '&' + ele1 + '=' + ele[i];
	}
	
	ajax.send(elemento);
}

Pero no acaba de funcionar, ¿donde esta el fallo?, gracias


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332