el problema lo tengo que a continuacion debo coger el contenido del div y separarlo para poner en cada campo su valor
Código HTML:
<input .... onblur="leer_articulo(); fraccionar();" />
no se si soy muy claro, me podeis echar una mano?
graicas
| |||
orden de ejecucion de las funciones estoy trabajando en unas funciones de acceso a BBDD para comprobar y obtener los codigos y las descripciones de ficheros relacionados. La comprobacion la hago en ajax y me funciona bien: leo, compruebo y devuelvo en un div la cadena de campos del fichero que quiero leer. el problema lo tengo que a continuacion debo coger el contenido del div y separarlo para poner en cada campo su valor Código HTML: <input .... onblur="leer_articulo(); fraccionar();" /> no se si soy muy claro, me podeis echar una mano? graicas |
| |||
Re: orden de ejecucion de las funciones bien, he avanzado algo ... es un problema de orden de ejecucion, fraccionar() no espera a que acabe leer_articulo(), ya que si le pongo un alert('parada') al principio de la función fraccionar(); entonces funciona perfectamente ... luego ahora lo que busco es como hacer que fraccionar() se espere a que acabe leer_articulo() gracias |
| |||
Re: orden de ejecucion de las funciones lo siento pero primero se ejecuta leer_articulo, y despues fraccionar. he probado poner en fraccionar bucles de tiempo (for, while ...) pero nada, solo funciona si le pongo un alert() dejo las funciones y su llamada quizas puedan decirme algo. Código HTML: function lleer_articulo(){ //donde se mostrará lo resultados byId divcontenidor = document.getElementById('contenidor'); //valores de los cajas de texto byName ajaxarticle=document.formdetall.i_article.value; //instanciamos el objetoAjax ajax=objetoAjax(); //usando del medoto POST //archivo que realizará la operacion ->actualizacion.php ajax.open("POST", "c_article.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar los nuevos registros en esta capa divcontenidor.innerHTML = ajax.responseText } } //muy importante este encabezado ya que hacemos uso de un formulario ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("idarticle="+ajaxarticle); } function fraccionar() { alert('parada'); // si quito el alert no funciona var textinici= contenidor.innerHTML; var textseparat = textinici.split('#'); var codi = textseparat[0]; var denom= textseparat[1]; var preumig=parseFloat(textseparat[2]); formdetall.i_quantitat.value= denom; formdetall.i_preu.value=preumig; formdetall.i_import.focus(); } Código HTML: <td> <input name="i_article" maxlength="10" type="text" id="i_article" size="10 onblur="leer_articulo(); fraccionar()" /> </td> |
| ||||
Re: orden de ejecucion de las funciones 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: Código PHP: Código PHP: 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
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |