Foros del Web » Programando para Internet » Javascript »

fallo de firefox??

Estas en el tema de fallo de firefox?? en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/07/2009, 20:49
Avatar de rudy69  
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 15 años, 6 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
  #2 (permalink)  
Antiguo 12/07/2009, 21:14
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: fallo de firefox??

¿Tienes un elemento con id="idCte"? Muestra el código de ese elemento.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 13/07/2009, 05:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: fallo de firefox??

Has intentado

alert(document.getElementById('IdCte').value)

justo ANTES de la linea en cuestión....

La linea en si no tinen dada raro como ya sabras.... nos tienes que mostrar todo el documento en el script no hay nada ...

Quim
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 08:54.