Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2014, 22:07
BLADDE
 
Fecha de Ingreso: abril-2006
Mensajes: 72
Antigüedad: 18 años, 9 meses
Puntos: 0
Problema al implementar función

saludos amigos ya me rendi y decidi pedir ayuda!!!!
fijense tengo 2 funciones que usan ajax para arrojar un resultado pero creo q al usar ajax algo ocurrre con la ejecucion y el orden en el que se desenvuelven. ejemplo la funcion 1 retorna "1" o "0" y dependiendo de ella se ejecuta la segunda sin embargo la segunda pase lo q pase con la primera siempre se ejecuta. anexo el codigo:
llamada de las funciones:
Código:
function nuevoAjax()
{ 
	var xmlhttp=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			// Creacion del objet AJAX para IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E)
		{
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
		}
	}
	return xmlhttp; 
}



/////////////////////////////////
///////////////////////////////////////////////
function verificar_si_existe()
{

		var op=0;// esta variable la cree para ubicar el resultado despues del ajax2.send(null);
		var ajax2=nuevoAjax();
		ajax2.open("GET", "ajax_despacho.php?opc=2&cedula="+document.getElementById('cedula').value, true);// 
		ajax2.onreadystatechange=function() 
		{ 
			
			if (ajax2.readyState==4)
			{  	if(ajax2.responseText=="1")
					{
						alert("el beneficioario que intenta registrar ya existe en nuestro sistema.");
						op=1;
						
						}
					
							
		
			} 
		}
		ajax2.send(null);
		
		return op;

	}



/////////////////////////////////////////////
function registrar_beneficiario()
{

if(verificar_si_existe()==0){//** aqui es donde se hace la llamada de la segunda funcion. actualmente cuando el beneficiario esta registrado el sistema me muestra los 2 avisos el que dice que hubo un error y no se pudo guardar y el que dice ya el beneficiario esta registrado en nuestro sistema
	
	
	
		var ajax=nuevoAjax();
		ajax.open("GET", "ajax_despacho.php?opc=1&nombre="+document.getElementById('nombre').value+"&apellido="+document.getElementById('apellido').value+"&cedula="+document.getElementById('cedula').value+"&telefono="+document.getElementById('telefono').value+"&correo="+document.getElementById('correo').value+"&fecha_n="+document.getElementById('fecha_n').value+"&sexo="+document.getElementById('sexo').options[document.getElementById('sexo').selectedIndex].value+"&estado="+document.getElementById('estados').options[document.getElementById('estados').selectedIndex].value+"&municipio="+document.getElementById('municipios').options[document.getElementById('municipios').selectedIndex].value+"&telefono2="+document.getElementById('telefono2').value+"&direccion="+document.getElementById('direccion').value, true);// 
		ajax.onreadystatechange=function() 
		{ 
			
			if (ajax.readyState==4)
			{   
					if(ajax.responseText==1)
					{
						alert("el beneficioario se registro sin problema");
						}else{alert("ocurrio un error no se pudo guardar el beneficiario");}
					
							
		
			} 
		}
		ajax.send(null);
	}else{}

	}
agradecido al que me pueda orientar o explicar la logica que se esta implementando mal, pues asumo es una cuestion de ajax antes los objetos ajax se llamaban igual probando les cambie el nombre pero igual