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

Problema con carga de componentes

Estas en el tema de Problema con carga de componentes en el foro de Frameworks JS en Foros del Web. Hola, nuevamente molestandolos, tengo un pequeño problemilla: Sucede que lo q yo quiero que mi sistema haga, "LO HACE", pero, solo lo hace cuando yo ...
  #1 (permalink)  
Antiguo 15/07/2009, 10:03
 
Fecha de Ingreso: abril-2009
Ubicación: Lima
Mensajes: 108
Antigüedad: 15 años
Puntos: 0
Problema con carga de componentes

Hola, nuevamente molestandolos, tengo un pequeño problemilla:
Sucede que lo q yo quiero que mi sistema haga, "LO HACE", pero, solo lo hace cuando yo muestro algun contenido en los alerts, es como si mi sistema necesitara tiempo para poder realizar las operaciones, ya que si quito los alerts, el sistema no muestra lo que quiero. Pongo dos imagenes como ejemplo:
-1ra, esta imagen es sin los alerts:


-2da, esta es despues de haber puesto "ok" en los alerts, es decir con los aerts activados:


En algun lugar lei q algo parecido le pasaba a otra persona, y lo que hacia era agregar diferentes objetos ajax por cada funcion, yo uso varias funciones para eso, y para cada una eh creado un objeto ajax, pero nada, ¿A qué se puede deber esto??? ....alguna idea??

Acá Algo de código:
Código:
for(var i=0; i<filas.length-1;i++){
	val = filas[i].split("/");

	var Row = document.getElementById("tab_res").insertRow(-1);    
	var Cell = Row.insertCell(0);        
	
	Cell.innerHTML = "<input name='codigo["+i+"]' type='text' id='codigo' value='"+val[1]+"' style='width:95%' size='5' />";    
	var Cell = Row.insertCell(1);        
		
	Cell.innerHTML = "<input name='abrev["+i+"]' type='text' id='abrev' value='"+val[2]+"' size='15'/>";
	var Cell = Row.insertCell(2);  
....................

	permiso_usu(val[1],i);
	detalles(val[1],i);
}
Código:
function permiso_usu(valor2,s){
	ajax1=objetoAjax();
//alert('analisis='+valor2+" i="+s);
	ajax1.open("GET", "permiso_sec_usu.php?idanal="+valor2);		
	ajax1.onreadystatechange=function() {
	if (ajax1.readyState==4) {
	      var valores3 = ajax1.responseText;
	      longi=valores3.length;
	       if(longi==0){
	           document.getElementById('resul['+s+']').readOnly=true;
	           document.getElementById('resul['+s+']').style.backgroundColor="#999999";
	}
	}
}
  ajax1.send(null);
}
Código:
function detalles(valor3,p){
	ajax2=objetoAjax();
	z=document.getElementById('sexo').value;
	if(z=='MASCULINO') z=1;
	else z=2;
//alert(valor3+" , "+p);
	ajax2.open("GET", "detalle_anali_result.php?idanal="+valor3+"&sex="+z);	
.....
}
Como ven ahi tengo los alert que estan comentados

Última edición por xtian87; 16/07/2009 a las 13:38
  #2 (permalink)  
Antiguo 15/07/2009, 22:01
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: Problema con carga de componentes

Si nos muestras el código que estás usando o nos das un enlace a la página, será más fácil ayudarte.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/07/2009, 22:05
 
Fecha de Ingreso: abril-2009
Ubicación: Lima
Mensajes: 108
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con carga de componentes

Hola,gracias por responder, ahi puse algo del codigo, como veras no es poco, probrando puse esto en la ultima funcion:
Cita:
function detalles(valor3,p){
ajax2=objetoAjax();
z=document.getElementById('sexo').value;
if(z=='MASCULINO') z=1;
else z=2;

ajax2.open("GET", "detalle_anali_result.php?idanal="+valor3+"&sex="+ z);
ajax2.onreadystatechange=function() {
if(ajax2.readyState==1 || ajax2.readyState==2 || ajax2.readyState==3){
document.getElementById('oculto').innerHTML="Proce sando...";
}
else{
var valores4 = ajax2.responseText;
var filas=valores4.split("|");

for(var i=0; i<filas.length-1;i++){
val = filas[i].split(",");
document.getElementById('unid['+p+']').value=val[0];
document.getElementById('refer['+p+']').value=val[1]+" - "+val[2];
}

}
}
ajax2.send(null);
}
y en la ventana de internet explorer me bota el siguiente mensaje:
"El dato necesario para esta operacion no esta disponible"...
  #4 (permalink)  
Antiguo 16/07/2009, 15:49
 
Fecha de Ingreso: abril-2009
Ubicación: Lima
Mensajes: 108
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con carga de componentes

Buenas, una pregunta, quisiera saber si esta permitido poner un link de otro foro, lo que pasa es que en dicho foro me permiten subir un archivo de texto,y ahi subi el archivo donde tengo el codigo completo, talves asi me puedan ayudar, porfa me eh quedado estancado aquí, no quiero seguir avanzando mientras tenga este problema,ayudenme porfaaaaaaaaaa.
  #5 (permalink)  
Antiguo 16/07/2009, 17:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con carga de componentes

Lo que puedes hacer es al abrir tu ajax que este sea sincrono, así el script se va a esperar a obtener la respuesta.

Saludos.
  #6 (permalink)  
Antiguo 16/07/2009, 20:06
 
Fecha de Ingreso: abril-2009
Ubicación: Lima
Mensajes: 108
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con carga de componentes

GatorV disculpa mi ignorancia, pero como hago para abrir mi archivo ajax de manera sincrona, que AJAX no era siempre asíncrona??.
Mi función ajax es de esa manera(creo q asi es como lo hacen todos, o al menos parecido)
Cita:
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;

}
Que es lo q tendria que cambiar para que sea de la forma q tu dices??
  #7 (permalink)  
Antiguo 20/07/2009, 09:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con carga de componentes

En tu método open() de tu objeto AJAX el último parámetro indica si este debe de ser o no asincrono, si pasas false este se vuelve sincrono, revisa esto:

http://webdevstudio.wordpress.com/20...no-y-sincrono/

Saludos.
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 22:21.