Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No recibo variables de formulario

Estas en el tema de No recibo variables de formulario en el foro de Frameworks JS en Foros del Web. Estoy haciendo un envio de datos desde un formulario pero no recibo los datos via Post, he leido algunos hecho pero no me funciona. Codigo ...
  #1 (permalink)  
Antiguo 16/09/2006, 15:51
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años
Puntos: 0
No recibo variables de formulario

Estoy haciendo un envio de datos desde un formulario pero no recibo los datos via Post, he leido algunos hecho pero no me funciona.

Codigo Ajax.
Código:
var XMLHttpRequestObject = false;

if (window.XMLHttpRequest) 
{
   XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function pedirDatos(fuenteDatos, divID)
{
        if(XMLHttpRequestObject) 
		{			

			var obj = document.getElementById(divID);
			obj = document.getElementById(divID);
			obj.innerHTML = '<br><p style="text-align:center;"><img src="img/gif/gl-loading.gif" /></p><br><br>';          
			
		   XMLHttpRequestObject.open("POST", fuenteDatos);
		
		   XMLHttpRequestObject.onreadystatechange = function()
		   {
				   if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
				   {												
						obj.innerHTML = XMLHttpRequestObject.responseText;					
						
				   }
		   }
		   XMLHttpRequestObject.send(null);	 
        } 
}
Formulario:
Código HTML:
 <div id="comentarios"> 
                              <form name="form" method="post" onsubmit="pedirDatos('php/frm_newslleter.php','comentarios'); return false" >
                                <label> Ingrese su Nombre<br>
                                <input name="tx_nombre" type="text" class="caja_input" id="tx_nombre" style="width:173px">
                                </label>
                                <label> Ingrese su E-mail<br>
                                <input name="tx_mail" id="tx_mail" type="text" class="caja_input" style="width:173px">
                                </label>
                                <div align="right"> 
                                  <label> 
                                  <input name="Submit" type="submit" class="boton" value="Registrar">
                                  </label>
                                </div>
                              </form>
							 </div> 
  #2 (permalink)  
Antiguo 17/09/2006, 09:09
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
XMLHttpRequestObject.send(null);

Cámbiala por...

var txtnombre = document.getElementById('tx_nombre');
var txtemail = document.getElementById('tx_mail');

y donde corresponde la linea de arriba...

XMLHttpRequestObject.send("txtnombre="+txtnombre.v alue+"&txtemail="+txtemail.value);

Luego lo recibes así...

$_POST['txtnombre'];
$_POST['txtemail'];

Espero te haya quedado claro... Cualquier duda consultas =)
  #3 (permalink)  
Antiguo 17/09/2006, 11:26
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Este Link te puede servir como ayuda. Esta bueno.
Saludos.
__________________
| Cabeza De Raton |
  #4 (permalink)  
Antiguo 17/09/2006, 20:12
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años
Puntos: 0
no funciona

spider_boy hice lo que tu me dices pero no funciona se queda pensando con el gif de loading...

dejo el ajax modificado

Código:
function pedirDatos(fuenteDatos, divID)
{
        if(XMLHttpRequestObject) 
		{			

			var obj = document.getElementById(divID);
			obj = document.getElementById(divID);
			obj.innerHTML = '<br><p style="text-align:center;"><img src="img/gif/gl-loading.gif" /></p><br><br>';          
		   
		   var txtnombre = document.getElementById('tx_nombre');
		   var txtemail = document.getElementById('tx_mail');			
		   
		   XMLHttpRequestObject.open("POST", fuenteDatos);

		   		
		   XMLHttpRequestObject.onreadystatechange = function()
		   {
				   if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
				   {												
						obj.innerHTML = XMLHttpRequestObject.responseText;					
						
				   }
		   }
		   XMLHttpRequestObject.send("txtnombre="+txtnombre.value+"&txtemail="+txtemail.value);

        } 
}
  #5 (permalink)  
Antiguo 18/09/2006, 09:58
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años
Puntos: 0
ahora si me funciono!

es problema era que faltaba la linea:
Código:
XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
arriba de:
XMLHttpRequestObject.send("txtnombre="+txtnombre.v alue+"&txtemail="+txtemail.value);
  #6 (permalink)  
Antiguo 19/09/2006, 07:44
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Disculpa... se ma había olvidad =p
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 08:33.