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

error con variables de conexion

Estas en el tema de error con variables de conexion en el foro de Frameworks JS en Foros del Web. Saludos Estoy teniendo problemas con las conexiones concurrentes. Tengo una página principal en la cual muestro un resumen del carrito, importe y artículos. Está enfocada ...
  #1 (permalink)  
Antiguo 16/12/2008, 12:35
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 8 meses
Puntos: 0
error con variables de conexion

Saludos

Estoy teniendo problemas con las conexiones concurrentes. Tengo una página principal en la cual muestro un resumen del carrito, importe y artículos. Está enfocada a agentes de ventas que levantan pedidos para sus clientes. Por lo que al entrar en la página de "cambiar cliente" firefox me marca error en que "cnx2 is undefinded" y no termina de cargar el resumen del carrito dejandome los campos en blanco.
Ya habia tenido un error similar pero donde no funcionaba era en IE.

Aqui el código de la subpágina y en rojo donde me marca el error
Código:
var cnx2;
var text;
function chngCli()
{
	var sel = document.getElementById("slCli")
	var idCli =  sel.options[sel.selectedIndex].getAttribute('value');
	text = sel.options[sel.selectedIndex].text;	
	mandaCli(idCli,text);
}

function mandaCli(id,txt)
{    
  var pag = 'scripts/jx_chngCli.asp?id='+ id + '&txt=' + txt ;
  cnx2 = nuevoAjax();
  cnx2.onreadystatechange = procesarEventos;
  cnx2.open('GET',pag ,true);
  cnx2.send(null);
}

function procesarEventos()
{		
	if(cnx2.readyState == 4 && cnx2.status == 200)
	{		
		var lbl = document.getElementById('d_clie');		
		lbl.innerHTML = 'Cliente : '+ text
		window.location = 'index.asp?nav=ini';
		alert('cliente cambiado');		
		return;
	}
	
	if(cnx2.readyState == 4 && cnx2.status == 500)
	{
		alert('El cliente seleccionado no tiene articulos asignados');
		return;
	}
}
//***************************************
//Funciones comunes 
//***************************************


function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}


function nuevoAjax(){
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;
}
y este es el código ajax de la página principal

Código:
addEvent(window,'load',carga_importe,false);

var cl_cnx1;

function carga_importe()
{
  cl_cnx1=crearXMLHttpRequest();
  
  if (window.ActiveXObject)
  { //es interné explorer
  	  
	  cl_cnx1.onreadystatechange = query_edocta;
	  cl_cnx1.open("POST", '../Scripts/jx_importe.asp', true);
	  cl_cnx1.send(null);
  }
  else
    if (window.XMLHttpRequest)
      { //tonces se supones es cualquier otro que si funciona 
	  	  
		  cl_cnx1.onreadystatechange = procesarEventos;
		  cl_cnx1.open('GET','../jx_importe.asp', true);
		  cl_cnx1.send(null);
	  }
}

function query_edocta()
{ //funcion para explorer
	var epr = document.getElementById('cli_importe');
	
	if(cl_cnx1.readyState == 4 && cl_cnx1.status ==200)
	{
	 var xml = parseFloat(cl_cnx1.responseText);
	 //var mat = xml.getElementsByTagName('SALDO');
	 //alert(xml); 
	 f=dynapi.functions;
	 var hid_imp = parseFloat(document.getElementById("hid_tx").value);	
	 var mon = document.getElementById("hid_moneda").value;
	 var total = document.getElementById("cli_importe");
	 var num = (xml * ((hid_imp/100)+1));
	 num = f.formatNumber(f.toFloat(num),'#,###,##0.00');	 
	 var txt = 'Total: ' + num + ' ' + mon;	 
	 
	 epr.innerHTML = txt;
	}
	else 
	{
		epr.innerHTML = 'Total: cargando...';
	}
}

function procesarEventos()
{	
	if(cl_cnx1.readyState == 4)
		if(cl_cnx1.status==200)
		{
			 //alert("cliente");
			 //var xml = cli_cl_cnx1.responseText;			 						 
			 xml = cl_cnx1.responseXML;
			 var can = xml.getElementsByTagName('importe');
			 var importe = can[0].firstChild.nodeValue;

		 f=dynapi.functions;

		 
		 var hid_imp = document.getElementById("hid_tx").value;	
		 if (hid_imp == null)
		 { hid_imp = 0;}
		 var mon = document.getElementById("hid_moneda").value
		 var total = document.getElementById("cli_importe");
		 var num = (importe * ((hid_imp/100)+1));
		 var txt = 'Total: ' + (f.formatNumber(num,'#,###,##0.00')) + ' ' + mon;
		 
		 total.innerHTML = txt;
		}	
}

//***************************************
//Funciones comunes 
//***************************************


function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}

function crearXMLHttpRequest() 
{
  var xmlHttp=null;
  if (window.ActiveXObject) 
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  else 
    if (window.XMLHttpRequest) 
      xmlHttp = new XMLHttpRequest();
  return xmlHttp;
}
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:24.