Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2009, 20:49
Avatar de rudy69
rudy69
 
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 16 años, 2 meses
Puntos: 7
fallo de firefox??

Buenas, he estado dandome por probar mis aplicaciones en navegadores como firefox y el nuevo chrome, en los que en estos dos me detecte un fallo en mi aplicacion, ahi les voy.

solo fijarse en las funciones, evento_cuatro y cargarClientes

a base de alertas me he dado cuenta que funcion evento_cuatro, justo en esta parte var id_cte = document.getElementById('IdCte').value;, se detiene todo, la variable "s", es una variable global(no se si asi se llaman en javascript xD), que esta en el documento donde se carga estas funciones, esa variable no causa ningun problema, el problema es esa linea que detiene todo, ese objeto aparece gracias a una funcion AJAX(PHP genera HMTL donde esta ese objeto y ajax lo escribe en un div, vease funcion ir_a_PHP() ), me pregunto si por eso genera error javascript, lo raro que en Internet Explorer funcciona perfectamente.

mi pregunta concreta, porque javascript se detiene en esa linea?

He probado alert(id_cte); justo despues de tal linea y no ocurre ningun evento(ni siquiera mensaje de undefined o null), por lo que es un STOP definitivo, PORQUE!!, he creado elementos como esos en otras aplicaciones y funciona bien, pero esta no

Nota: las demas funciones estan nada mas para informacion extra que puedan necesitar, pero no tienen nada que ver con las funciones mencionadas

Código:
function evento_uno(mCte, form) {
	mCte.innerHTML = '<br><img src="/imagenes/loading.gif"> Buscando, por favor espere...';
	form.Crear.style.display = '';
	document.getElementById('buscar_cte_fno').style.display = 'none';
	document.getElementById('companias_cte_fno').innerHTML = '';
	document.getElementById('cte_fno_').innerHTML = '';
	document.getElementById('datos').innerHTML = '';
	document.getElementById('companias_cte').innerHTML = '';
	document.getElementById('ingreso').disabled = true;
	document.getElementById('botonIngreso').disabled = true;
}

function evento_dos(idCliente) {
	document.cte.Crear.style.display = 'none';
	document.getElementById('buscar_cte_fno').style.display = '';
	document.getElementById('companias_cte_fno').innerHTML = '';
	document.getElementById('cte_fno_').innerHTML = '';
	document.getElementById('datos').innerHTML = '';
	document.cte_fno.nombre.focus();
	document.getElementById('ingreso').disabled = false;
	document.getElementById('botonIngreso').disabled = false;
	ir_a_PHP("accion=BuscarCteFno&nombre="+idCliente, document.getElementById('cte_fno_'));
	ir_a_PHP("accion=cargar_comp_cte&IdCte="+idCliente, document.getElementById('companias_cte'));
	ir_a_PHP("accion=cargar_tarjeta&IdCte="+idCliente, document.getElementById('ingreso'));
}

function evento_tres(mCte) {
	document.getElementById('companias_cte_fno').innerHTML = '';
	mCte.innerHTML = '<br><img src="/imagenes/loading.gif"> Buscando, por favor espere...';
	document.getElementById('datos').innerHTML = '';
}

function evento_cuatro(id_cliente_fno) {
	alert('2345');
	alert(id_cliente_fno);
	var id_cte = document.getElementById('IdCte').value;
	ir_a_PHP('accion=envio_dinero&IdCteFno='+id_cliente_fno+'&IdCte='+id_cte, document.getElementById('datos'));
	ir_a_PHP('accion=cargar_comp_cte_fno&IdCteFno='+id_cliente_fno, document.getElementById('companias_cte_fno'));
}


function buscarCliente(form, cliente) {
	var nombre = form.nombre.value;
	var buscar = form.buscar.disabled = true;
	var mCte   = document.getElementById(cliente+'_'); //estas tres variables son global, cte or cte_fno
	if(cliente == 'cte') {
		if(nombre!= '') {
			if(s==1) {
				evento_uno(mCte, form);
			} else if ( s == 2) {
				evento_cinco(mCte, form);
			} else if ( s == 3) {
				evento_nueve(mCte, form);
			}
			ir_a_PHP('accion=BuscarCte&nombre='+nombre, mCte);
		}
	} else if(cliente == 'cte_fno') {
		if(nombre == '') {
			nombre = document.getElementById('IdCte').value; //si no ha escrito nada el usuario en el campo obtengo el IdCliente
		}
		if(s==1) {
			evento_tres(mCte);
		} else if(s == 2) {
			evento_siete(mCte);
		}
		ir_a_PHP("accion=BuscarCteFno&nombre="+nombre, mCte);
	}
	form.buscar.disabled = false;
}

function cargarClientes(id_clientes, cliente) {
	if(document.getElementById('IdCte') != undefined) {
		var id_cte = document.getElementById('IdCte').value;
	} else {
		var id_cte = '';
	}
	var mCte   = document.getElementById(cliente+'_');
	ir_a_PHP('accion=cargar_'+cliente+'&IdCtes='+id_clientes+'&IdCte='+id_cte, mCte);
	if(cliente == 'cte') {
		if(s==1) {
			evento_dos(id_clientes);
		} else if(s == 2) {
			evento_seis(id_clientes);
		} else if(s == 3) {
			evento_dies(id_clientes);
		}
	} else if(cliente == 'cte_fno') {
		if(s==1) {
			evento_cuatro(id_clientes);
		} else if(s == 2) {
			evento_ocho(id_clientes);
		}
	}
}

function ir_a_PHP(variables, mostrador) {
	var ajax=nuevoAjax();
	ajax.open("POST", "/Libreria/servicios.ajax.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(variables);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			if(mostrador.type == undefined) {
				mostrador.innerHTML = ajax.responseText;
			} else if(mostrador.type == 'text') {
				mostrador.value = ajax.responseText;
			}
		}
	}
}

Última edición por rudy69; 12/07/2009 a las 20:56