Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2012, 11:59
Avatar de xpapachox
xpapachox
 
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 12
Problema con Ajax Nativo Javascript y funciones.

Hola a todos.

Tengo declarado mi objetoAjax nativo.

He declarado 2 funciones que las llamo cuando selecciono un valor de un <Select> COMBO1 con el evento OnChange().


Funcion1:buscarSerie()
-Me sirve para llenar otro COMBO2, con el valor de este COMBO1 seleccionado.

Funcion2:buscarNumFacturas()
-Me sirve para retornar 2 valores y mostrarlo en una caja de texto, con el valor de este COMBO1 seleccionado.


PROBLEMA:
--------------
Hay veces en que nome muestra los valores de las series en su COMBO2.

Nose si sera por que cuando ejecuto las 2 funciones se hacen 2 llamadas ajax al mismo tiempo y hay un cruce..

-----------

Algun metodo para hacer 2 llamadas ajax a la vez? si este es el caso.


Código PHP:

<script language="JavaScript" type="text/javascript" ><!--src="ajax.js"> -->
function 
objetoAjax(){
    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 
buscarNumFacturas(){    
    if (
document.forms[0].ven_core.value!=""){
        
ven_feem document.forms[0].ven_feem.value;
        
ven_core document.forms[0].ven_core.value;
        
ven_codo document.forms[0].ven_codo.value;
        
ven_seri document.forms[0].ven_seri.value;
        
ajax1 objetoAjax();
        
        
//alert("Hola");
        
        
ajax1.open("POST""lofa_numfacturas.php",true);
        
ajax1.onreadystatechange=function() {
    
          if (
ajax1.readyState == 4) {
            
numr =  eval("(" ajax1.responseText ")");
            
            
alert(numr.numerox+"-"+numr.numeroz);
            
          }
        }
        
ajax1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
ajax1.send("&ven_codo="+ven_codo+"&ven_feem="+ven_feem+"&ven_core="+ven_core+                        "&ven_seri="+ven_seri+"&proceso=ajax");
    }
    return 
true;
    
//ajax2.send("&ven_feem="+ven_seri+"&proceso=ajax");
}

function 
buscarSerie() {
    
divResultado1 document.getElementById('ven_seri');
    
ven_codo document.forms[0].ven_codo.value;
    
    
ajax1 objetoAjax();
    
ajax1.open("POST""lofa_listaserie.php",true);
    
ajax1.onreadystatechange=function() {
      
//alert(ajax1.readyState);
      //alert("Aqui");
      
if (ajax1.readyState == 4) {
        
divResultado1.innerHTML ajax1.responseText;        
      }
    }
    
ajax1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
ajax1.send("&ven_codo="+ven_codo+"&proceso=ajax");
}
</script> 
//Luego hago la llamada alas 2 funciones.

<select class=':required contract12 smedium' name="ven_codo" id="ven_codo" onchange="buscarSerie();buscarNumFacturas();">