Hola, tengo la siguiente evento, el problema es que solo funciona la primera detalle_pro
onChange="detalle_pro(this.value);calculo(this.val ue);"
Agradeceria cualquier sugerencia, gracias
| |||
2 funciones en un mismo evento. Se puede? Hola, tengo la siguiente evento, el problema es que solo funciona la primera detalle_pro onChange="detalle_pro(this.value);calculo(this.val ue);" Agradeceria cualquier sugerencia, gracias |
| ||||
Respuesta: 2 funciones en un mismo evento. Se puede? ¿Cómo están definidas ambas funciones?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: 2 funciones en un mismo evento. Se puede? si utilizas prototype.js es muy fácil de conseguir: suponiendo que tenes un formulario y en uno de sus textbox querés ejecutar 5 funciones diferentes cada vez que cambie su contenido podés hacer algo como lo siguiente: $('btnAceptar').observe('change', funcion1); $('btnAceptar').observe('change', funcion2); $('btnAceptar').observe('change', funcion3); $('btnAceptar').observe('change', funcion4); $('btnAceptar').observe('change', funcion5); |
| |||
Respuesta: 2 funciones en un mismo evento. Se puede? Lo raro es que ambas funcionan sin problemas independientemente, he intentado llamando a una sola funcion y desde hay que llame a las 2. Y nada tampoco, es muy extraño |
| ||||
Respuesta: 2 funciones en un mismo evento. Se puede? Muéstranos ambas funciones; de lo contrario será difícil que podamos ver el error.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: 2 funciones en un mismo evento. Se puede? Cita: function detalle_pro(art){if (!art) { return(false); } var aleatorio=Math.random(); divResultado = document.getElementById('precio') ; ajax=objetoAjax(); ajax.open("GET", "gestion/_ajax/mysql.php?opcion=precios&aleatorio="+aleatorio+"&a rticulo="+art); ajax.onreadystatechange=function() { if (ajax.readyState==4) { divResultado.value = ajax.responseText ; document.getElementById('total_0').value = ajax.responseText ; } } ajax.send(null) } function calculo() { var Error3 = "Error"; var campo = document.getElementById('cantidad') ; if( campo.value.length < 0 ) { alert(Error3); campo.nombre.focus(); return false; } total = campo.value * document.getElementById('precio').value ; descu = total * (document.getElementById('descuento_0').value / 100) ; subt = total - descu ; impuestos = (document.getElementById('imp_01').value * 1 + document.getElementById('imp_02').value * 1) / 100 ; document.getElementById('total_0').value = parseInt( subt * ( 1 + impuestos )); } |
| ||||
Respuesta: 2 funciones en un mismo evento. Se puede? Debes tener en cuenta que la petición que estás haciendo en la primera función es asíncrona. Por lo que el cálculo que se hace en la segunda función probablemente se procesará antes de que recibas la respuesta del servidor. Puedes hacer una petición síncrona asignando el tercer parámetro del método open en false:
Código Javascript:
Ver original
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() Cita:
Iniciado por David ![]() Debes tener en cuenta que la petición que estás haciendo en la primera función es asíncrona. Por lo que el cálculo que se hace en la segunda función probablemente se procesará antes de que recibas la respuesta del servidor. Puedes hacer una petición síncrona asignando el tercer parámetro del método open en false:
Código Javascript:
Ver original Tenias razon - era la asincronia, la cual hacia que pasara en banda e ignorara la funcioncion que le seguia. Gracias |