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

Enviando variables con ajax (recibo valor "undefinied")

Estas en el tema de Enviando variables con ajax (recibo valor "undefinied") en el foro de Frameworks JS en Foros del Web. Que tal, tengo un formulario y envio los parametros mediante ajax con jquery para procesarlos luego: Código: $("form#myForm").submit(function () { $("div#form_box").height(446); $("div#form_box").html('<center><img style="padding-top:125px" src="themes/default/css/imgs/ajax-loader.gif" /></center>'); ...
  #1 (permalink)  
Antiguo 14/06/2011, 20:22
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 13 años, 8 meses
Puntos: 4
Enviando variables con ajax (recibo valor "undefinied")

Que tal, tengo un formulario y envio los parametros mediante ajax con jquery para procesarlos luego:

Código:
$("form#myForm").submit(function () {
        
        $("div#form_box").height(446);
        
        $("div#form_box").html('<center><img style="padding-top:125px" src="themes/default/css/imgs/ajax-loader.gif" /></center>');
        
        var nombre  = $('#nombre').attr('value');  
        var email   = $('#email').attr('value');
        var telefono   = $('#telefono').attr('value');
        var mensaje   = $('#mensaje').attr('value');                
            $.ajax({  
                type: "POST",  
                url: "contacto.php",  
                data: "nombre="+ nombre +"& email="+ email +"& telefono="+ telefono +"& mensaje="+ mensaje,  
                success: function(){  
                    $("form#myForm").hide(function(){$('div.success').fadeIn();});  
      
                }  
            });  
        return false;  
    });
Todo funciona perfecto, el problema es en el archivo contacto.php, si hago un echo de la variable por ej "nombre" $_POST['nombre'] me da un valor igual a = "undefinied"

Como puedo solucionarlo ? gracias.
  #2 (permalink)  
Antiguo 15/06/2011, 00:36
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

Hola:

Según veo, estas pasando mal los parámetros a través de ajax. Te dejo un ejemplo de como se pasan:
$.ajax({
type: 'get',
dataType: 'html',
url: 'pagina.php',
data: {valor:"valor1",valor1:"nuevo valor"},
success:function(){
...............

}
});
si te das cuenta los parametros van separados por comas, ya que la peticion ajax esta en formato jquery, no en formato javascript puro.
Ojalá te sirva mi respuesta. Saludos.
  #3 (permalink)  
Antiguo 15/06/2011, 00:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 13 años, 8 meses
Puntos: 4
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

Probe poniendo:

data: "{nombre:'" + nombre + "'}",

pero no funciona, no creo q sea el problema q comentas ya que si especifico

Código:
data: "nombre=adasd",
obtengo el valor "adasd"

Última edición por WebDeveloperZ; 15/06/2011 a las 00:53
  #4 (permalink)  
Antiguo 15/06/2011, 01:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

Mmmm... puede que no sea ese el error, pero segun el ejemplo que me das de como pones las variables en data a mi parecer no esta correcto. Yo lo hago de esta manera y funciona cuando el valor esta contenido en una variable.

var a="capturar";
var b="hola";
$.ajax({
type: 'get',
dataType: 'html',
/*ejecuta ajax.php*/
url: 'ajaxCapturar.php',
data: {valor:a,valor1:b},
success:function(){
alert("se ejecuto");

}
});

Ahi paso los valores de las variables a y b definidas mas arriba, pero no pongo comillas dobles, solo el nombre de la variable, luego hago un echo en el php de las variables y las recibo correctamente...
  #5 (permalink)  
Antiguo 15/06/2011, 01:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 13 años, 8 meses
Puntos: 4
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

mm pareciera q el problema esta en la toma del valor del input.

el codigo es:

<input class="fieldclass :required" type="text" id="nombre" />

Código:
            var a= $('#nombre').val();
            $.ajax({
                type: 'get',
                dataType: 'html',
                /*ejecuta ajax.php*/
                url: 'contacto.php',
                data: {valor:a},
                success:function(){
                alert("se ejecuto");
            
            }
            });
no me esta devolviendo nada $_GET['valor'] en el php
  #6 (permalink)  
Antiguo 15/06/2011, 01:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

Puedes verificarlo haciendo un alert de la variable a ...antes de hacer la llamada a ajax para verificar que se capta bien el valor.
Quiza estas haciendo un submit del formulario donde tienes el input, a mi me ha pasado que al hacer submit se recarga toda la pagina y se limpian las variables. Lo que hago yo, no se si sera la forma correcta o no, pero pongo un input de tipo button y en el evento onclick del mismo llamo a una funcion javascript que capture los valores de los input type text del formulario y luego los envio mediante ajax a php...

No se si según lo que tu estas haciendo necesites hacerlo con ajax... o puedas enviar el formulario y recoger los datos con php directamente.
  #7 (permalink)  
Antiguo 15/06/2011, 10:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 13 años, 8 meses
Puntos: 4
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

GRacias por la ayuda, el problema parece ser que era cuando re-dimensionaba el form:

$("div#form_box").height(446)

Si pongo las variables antes de esta linea y cambio el evento submit por el evento click funciona ok.

Muchas gracias Pola !
  #8 (permalink)  
Antiguo 15/06/2011, 10:47
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Enviando variables con ajax (recibo valor "undefinied")

De nada!. Que bueno te haya servido.

Saludos!!!

Etiquetas: ajax, javascript, variables
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 16:29.