Hola hace dias que tengo este problema, tengo dos campos que con el evento onClick llaman a una funcion que seteo un setInterval de 1 segundo para consultar a la base de datos si existe el valor, lo cual funciona pero a medias ya que la primera funcion devuelve el valor sin problemas, pero al seleccionar e ingresar un valor en el segundo campo no devuelve el valor hasta que presiono varias veces dicho campo, sino simplemente no devuelve nada.
Probe usando un clearInterval(de la primera funcion) al momento que empieza la segunda funcion pero el problema persiste
Código:
<input name="CUENTA_ORIGEN" type="text" id="CUENTA_ORIGEN" size="11" maxlength="11" onClick="llamarTraerDatosTraspasoOrigen(this.form)"/>
<input name="CUENTA_DESTINO" type="text" id="CUENTA_DESTINO" size="11" maxlength="11" onClick="llamarTraerDatosTraspasoDestino(this.form)"/>
Código:
<script language="javascript" type="text/javascript">
function traerDatosOrigen()
{
var cod_origen=document.getElementById("CUENTA_ORIGEN").value;
var campo1=document.getElementById("DESCRIPCION_CUENTA_ORIGEN");
var campo2=document.getElementById("SALDO_CUENTA_ORIGEN");
var ajax=nuevoAjax();
ajax.open("POST", "com_contabilidad/vista/menu_nuevo_traspaso/funciones/consulta_actualizar_datos_traspaso.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("var="+cod_origen);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
var respuesta=ajax.responseXML;// Rescata el contenido del archivo XML retornado del servidor:
campo1.value=respuesta.getElementsByTagName("desc_origen")[0].childNodes[0].data;
campo2.value=respuesta.getElementsByTagName("saldo_origen")[0].childNodes[0].data;
}
}
}
function llamarTraerDatosTraspasoOrigen()
{
setInterval("traerDatosOrigen()",1000);
}
function traerDatosDestino()
{
var cod_destino=document.getElementById("CUENTA_DESTINO").value;
var campo3=document.getElementById("DESCRIPCION_CUENTA_DESTINO");
var campo4=document.getElementById("SALDO_CUENTA_DESTINO");
var ajax=nuevoAjax();
ajax.open("POST", "com_contabilidad/vista/menu_nuevo_traspaso/funciones/consulta_actualizar_datos_traspaso.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("var="+cod_destino);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
var respuesta=ajax.responseXML;// Rescata el contenido del archivo XML retornado del servidor:
campo3.value=respuesta.getElementsByTagName("desc_origen")[0].childNodes[0].data;
campo4.value=respuesta.getElementsByTagName("saldo_origen")[0].childNodes[0].data;
}
}
}
function llamarTraerDatosTraspasoDestino()
{
setInterval("traerDatosDestino()",1000);
}
</script>
Gracias por cualquier sugerencia.