Hola
mikil:
El problema pasa por llamar a
fraccionar() cuando
acabe de ejecutarse el evento
onreadystatechange del objeto
ajax que declaras dentro de
leer_articulo(). Si la función
leer_articulo() fuese javascript normal no tendrías ningún problema, pero al proponer el evento
onreadystatechange ya estamos con javascript que no funciona de manera hilada, funciona cuando salta el evento.
Yo haría algo así:
Código PHP:
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar los nuevos registros en esta capa
divcontenidor.innerHTML = ajax.responseText
fraccionar();
}
}
Que es la solución básica. Pero como supongo que no quieres que se ejecute siempre
fraccionar() después de cada llamada genérica a ese evento, lo que puede hacer es pasar por parámetro la función que quieres que se ejecute después:
Código PHP:
function lleer_articulo(functionDespues){
//...
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar los nuevos registros en esta capa
divcontenidor.innerHTML = ajax.responseText
if(typeof functionDespues==="function")
functionDespues();
}
}
//...
Y se podría llamar desde el HTML de esta forma:
Código PHP:
<input name="i_article" maxlength="10" type="text" id="i_article" size="10 onblur="leer_articulo(fraccionar);" />
Espero no haberme equivocado al escribir el código, ni en el ámbito de las variables locales. Supongo que funcionará tanto para
leer_articulo( funcionDefinida ) como para
leer_articulo(), sin dar errores.
Saludos