PHP - Ejecutar JS al modificar un form

 
Vista:
Imágen de perfil de José Antonio

Ejecutar JS al modificar un form

Publicado por José Antonio (3 intervenciones) el 31/08/2016 11:16:46
Hola a todos,

tengo un problema con un formulario de creación/modificación en formato ficha y su llamada a un script de JS para calcular importes en base a las horas que se añadan.

Al crear un nueva ficha, se hace la llamada a la función calcular_importes sin problema:

<input type="text" id="horas_parte" name="horas_parte" onkeyup="calcular_importes(this.value)">

En cambio al modificar el dato en una ficha ya guardada, no está haciendo la llamada al script:

<input type="text" id="horas_parte" name="horas_parte" value="<?php echo $filas_parte['horas'];?>" onkeyup="calcular_importes(this.value)">

Mi intención es que cargue por defecto el valor guardado en $filas_parte['horas'] pero cuando lo modifique sobre la ficha pase el nuevo valor a la función "calcular_importes".

¿Alguna idea?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Developer

Ejecutar JS al modificar un form

Publicado por Developer (52 intervenciones) el 02/09/2016 23:55:57
Hola amigo,
creo que obtendrías una mejor ayuda en el foro de javascript,
de momento sólo te puedo decir que, si estás cargando tus valores dinámicamente (mediante PHP), probablemente la función no la esté reconociendo,
te arroja algún error en consola? o simplemente no entra a la función?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de José Antonio

Ejecutar JS al modificar un form

Publicado por José Antonio (3 intervenciones) el 05/09/2016 09:21:59
Hola Developer,

pues lamentablemente la consola no muestra ningún tipo de error, simplemente no me entra en la función una vez modificado el input con el dato cargado dinámicamente por php. Es como si el evento onkeyup no lo reconociera puesto que ya ha cargado un valor y al cambiarlo no detectara ninguna modificación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Developer

Ejecutar JS al modificar un form

Publicado por Developer (52 intervenciones) el 05/09/2016 16:42:11
Hola amigo, esto se debe a que como estás cargando el elemento dinámicamente, no está reconociendo la función que previamente se está definiendo, como te comenté, puedes buscar ayuda en el foro correspondiente...
puedes intentar encerrar tu funcion que llamas en tu onkeyup dentro de:

(function() {
// funcion onkeyup
})();

Hay mucho mejores opciones... pero lo vuelvo a repetir, esto compete a Javascript

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Víctor
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar JS al modificar un form

Publicado por Víctor (192 intervenciones) el 03/09/2016 07:48:54
Hola:

Una pregunta: ¿Qué nombre tiene el archivo que contiene el formulario? Te lo pregunto porque si no tiene la extensión .php no reconoce las sentencias php.

De todas formas la linea:

1
<input type="text" id="horas_parte" name="horas_parte" value="<?php echo $filas_parte['horas'];?>" onkeyup="calcular_importes(this.value)">

La escribiría de esta otra forma:

1
2
3
<?php
echo "<input type='text' id='horas_parte' name='horas_parte' value=".$filas_parte['horas']." onkeyup='calcular_importes(this.value)'>"
?>

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de José Antonio

Ejecutar JS al modificar un form

Publicado por José Antonio (3 intervenciones) el 05/09/2016 09:24:26
Hola Victor,

el archivo en cuestión tiene extensión php, concretamente el nombre es partes.php. De todas formas no me entra en la función, es como si no detectara los cambios de datos una vez cargados dinámicamente.

Gracias por tu atención
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar