Buenos días amigos, espero me puedan ayudar, el tema es un poquito largo, paciencia....
En un tabla que muestra la siguiente estructura de información. es un (ejemeplo)
cod / nombre / cantidad / ver
1 bla bla 3 boton mostrar
2 ble ble 2 boton mostrar
al hacer click en boton mostrar hace una llamada de funcion en ajax y me muestra el código de operación y me refresca otra grilla(que es una tabla dinamica table,tr,td)
a continuación pongo la función al hacer click en el "botón mostrar"
Código:
function load_operation_id(id_a){
alert("El Codigo de Operacion seleccionado es el: "+id_a);
loadValueforOperation("transactional__recovery_data/frm_recover_information_from_operation.php?id_a="+id_a,"datos_a");
}
esta función llama a esta otra
Código:
function loadValueforOperation(url, contenedor){
var pag = false;
if(window.XMLHttpRequest){
pag = new XMLHttpRequest();
}else{
if(window.ActiveXObject){ // pero si es IE
try{
pag = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){ // en caso que sea una versión antigua
try{
pag = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}else{
return false;
}
}
pag.onreadystatechange=function(){ // función de respuesta
loadURLforOperation(pag, contenedor);
setTimeout("Show_Data_For_Operation();",1);
setTimeout("load_users_information_from_operation_iden();",1);
//setTimeout("load_machine_replacements_information_from_operation_iden()",8);//Arreglar Sincronia
}
pag.open('GET', url, true) // asignamos los métodos open y send
pag.send(null)
}
esta llama a 2 funciones, aqui van:
Código:
function Show_Data_For_Operation(){
var datos=document.getElementById("datos_a").value;
if(datos!=""){
datos=datos.split(",");
document.getElementById("id_a").value=datos[0];
document.getElementById("detailed_reparation_id").value=datos[1];
document.getElementById("detailed_reparation_desc").value=datos[2];
document.getElementById("detailed_reparation_numpers").value=datos[3];
document.getElementById("detailed_reparation_id_b").value=datos[1];
document.getElementById("detailed_reparation_desc_b").value=datos[2];
document.getElementById("detailed_reparation_numpers_b").value=datos[3];
}
else{
//setTimeout("mostrar_DelSoftware()",1);
}
}
function load_users_information_from_operation_iden(){
//alert();
dat1=document.getElementById("detailed_reparation_id").value;
accion_a="transactional__insert_data/system_frm_load_datagrid_from_users_operation_activity.php?detailed_reparation_id=" + dat1;
//loadPag(accion_a,"datagrid__detailed_users_for_operation");
loadPag_b(accion_a,"datagrid__detailed_users_for_operation");
}
la primera no tiene ningun problema y recupera la informacion SIEMPRE. pero la q refresca la grilla, la segunda funcion en promedio al decimo intento falla y no carga la grilla, solo recupera el valor ,pero no referesca
el problema debe estar en la segunda funcion que llama a esta otra loadpag_b()
Código:
function loadPag_b(urlbc, contenedorbc){
var pagbc = false;
if(window.XMLHttpRequest){
pagbc = new XMLHttpRequest();
}else{
if(window.ActiveXObject){ // pero si es IE
try{
pagbc = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){ // en caso que sea una versión antigua
try{
pagbc = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}else{
return false;
}
}
pagbc.onreadystatechange=function(){ // función de respuesta
loadURL_bc(pagbc, contenedorbc);
//setTimeout("load_machine_replacements_information_from_operation_iden()",3);
}
pagbc.open('GET', urlbc, true) // asignamos los métodos open y send
pagbc.send(null)
}
//OTRO
function loadURL_bc(pagina_requeridabc, id_contenedorbc){
if(pagina_requeridabc.readyState == 4 && (pagina_requeridabc.status==200 || window.location.href.indexOf("http")==-1)){
document.getElementById(id_contenedorbc).innerHTML=pagina_requeridabc.responseText;
}
}
, he probado con settimeout y sin el, pero me da la impresion de q al llamar nuevamente al objeto de ajax se lagea u algo parecido, ojala me puedan ayudar.... es muy importante y no me gusta que la aplicacion presente problema, insisto nunca falla a la primera ni la segunda, es como al decimo intento q empiezo a probar (recuperar los ID) es q falla y me recupera solo el id y no refresca la grilla
espero me hayan entendido, desde ya muchas gracias, saludos amigos