Foros del Web » Programando para Internet » Javascript »

Return undefined!!

Estas en el tema de Return undefined!! en el foro de Javascript en Foros del Web. Bueno tengo una pequeña función en la que consulto si una lista de artículos agregados en una tabla se encuentran en la base de datos ...
  #1 (permalink)  
Antiguo 10/01/2013, 10:15
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Return undefined!!

Bueno tengo una pequeña función en la que consulto si una lista de artículos agregados en una tabla se encuentran en la base de datos la cual es esta


Código:
function validaArt(){
	var tabla = document.getElementById('tablasDetalle')
	for(var i=1; i<tabla.rows.length; i++) {
	var art=tabla.rows[i].cells[0].childNodes[0].value
	var respuesta = true
var ajax=nuevoAjax(); 
    ajax.open("POST", "../ajax/select_articulo_ajax.php", true); 
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    ajax.send("codigo="+art); 
             
    ajax.onreadystatechange=function() 
    { 
        if (ajax.readyState==4) 
        { 
		 var respuesta=ajax.responseXML;
		articulo = respuesta.getElementsByTagName("codigo")[0].childNodes[0].data;
		if(articulo =="")
		{
		respuesta=false;	
		return respuesta;
		}
		}
	}
	}
	
}
la cual al luego generar un

Código:
alert(validaArt());
me dice undefined

Cuando pongo el return al final de la función me entrega el valor declarado de la variable encuentre o no encuentre el valor del articulo

seria de gran ayuda sus sugerencias :)
  #2 (permalink)  
Antiguo 10/01/2013, 14:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Return undefined!!

Debería ser:
Código Javascript:
Ver original
  1. /* ... */
  2. ajax.open("POST", "../ajax/select_articulo_ajax.php", false);
  3. ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  4. ajax.send("codigo=" + art);
  5.  
  6. var respuesta = ajax.responseXML;
  7. var articulo = respuesta.getElementsByTagName("codigo")[0].childNodes[0].data;
  8. if(articulo =="")
  9. {
  10.     return false;
  11. }
  12. return respuesta;
No tiene sentido agregar un listener a onreadystatechange si pretendes que la petición sea síncrona.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 12/01/2013, 08:08
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 12 años
Puntos: 0
Respuesta: Return undefined!!

Muchas gracias amigo me sirvió demasiado :)

Etiquetas: ajax, return
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 04:19.