Código Javascript:
Ver original
function main_descuentos() { $("#contenido").load(".html/main_descuentos.html"); init_des(); }
Como ven realizo un "load" desde el archivo "descuentos.html" y luego de eso llamo a la funcion "init_des()" que lo que hace es inicializar el formulario trayendo datos de la BD a través de AJAX con este código:
Código Javascript:
Ver original
function init_des() { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { Cadena1 = xmlhttp.responseText.split('%') var selUsu = document.getElementById("selUsuarios"); for (i=0 ; i<Cadena1.length-1 ; i++) { Cadena2 = Cadena1[i].split('|'); var opt1 = document.createElement("option"); opt1.value = Cadena2[0]; opt1.text = Cadena2[1]; selUsu.add(opt1); } } } xmlhttp.open("POST",".lib/link/linkDescuentos.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("initDescuentos=1"); }
Lo que hace esta función es llenar un "select" con todos los usuarios que están registrados en la BD.
El problema es que en algunos casos funciona bien pero en otros casos trae los datos antes que termine el "load" del HTML y por consiguiente no encuentra el "select" respectivo para poner los datos en él y luego muestra el "select" vacío.
Ya he tratado cambiando la asincronicidad de "true" a "false" pero cuando hago eso ya nunca funciona.
Gracias por la ayuda!!!