JavaScript - problemas con onchange() javascript

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 40 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

problemas con onchange() javascript

Publicado por nomopo (2 intervenciones) el 08/03/2019 09:48:54
Tengo un listado de registros con un mini formulario para poder acabar de insertar los datos que faltan, pero me pasa lo siguiente, en mi pc en local me funciona bien, pero en el datacenter me da este error:

Uncaught ReferenceError: calcularSubtotal is not defined at HTMLInputElement.onchange fichero.php

adjunto las líneas de código.

1
2
3
4
5
6
7
8
<td><input type="number" name="SUBTOTAL<?php echo $i;?>" value="<?php echo $row['SUBTOTAL']; ?>" onchange="calcularSubtotal(<?php echo $i; ?>)"></td>
 
<script language="javascript" type="text/javascript">
function calcularSubtotal(indice){
	var subtotal = document.getElementsByName("SUBTOTAL"+indice)[0].value;
	document.getElementsByName("TOTAL"+indice)[0].value = subtotal;
}
</script>
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 joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

problemas con onchange() javascript

Publicado por joel (895 intervenciones) el 08/03/2019 12:32:52
Hola Nomopo, tal y como esta el código, esta correctamente, y la función calcularSubtotal() existe!!!

Revisa que en el servidor realmente ser cargue dicha 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
sin imagen de perfil
Val: 3
Ha disminuido su posición en 40 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

problemas con onchange() javascript

Publicado por nomopo (2 intervenciones) el 08/03/2019 13:10:06
Pue la cosa está en que todo está en el mismo archivo. Lo tengo en un archivo .php y en local, en mi pc con xampp funciona perféctamente pero en remoto, en el hosting y he probado varios, me falla y me da el error:

Uncaught ReferenceError: calcularSubtotal is not defined at HTMLInputElement.onchange
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
sin imagen de perfil
Val: 14
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

problemas con onchange() javascript

Publicado por preguntas (7 intervenciones) el 08/03/2019 18:56:46
Revisa que los inputs tengan esta estructura

1
2
3
<input type="number" name="SUBTOTALxxxx" value="xxxx" onchange="calcularSubtotal(1)">
<input type="number" name="SUBTOTALxxxx" value="xxxx" onchange="calcularSubtotal(2)">
<input type="number" name="SUBTOTALxxxx" value="xxxx" onchange="calcularSubtotal(3)">

De otra manera, si ves esto, es ahí el problema:

1
<input type="number" name="SUBTOTALxxxx" value="xxxx" onchange="calcularSubtotal()">
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 Elvis
Val: 4
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

problemas con onchange() javascript

Publicado por Elvis (1 intervención) el 05/04/2021 00:12:11
Es verdad cuando llamas a una función en onchange y no le colocas algún argumento como por ejemplo:
1
<input type="number" name="SUBTOTALxxxx" value="xxxx" onchange="calcularSubtotal()">

sale ese error de : uncaught referenceerror is not defined at htmlinputelement.onchange
pero si en la función JS le haces un default( en el argumento) de algo como por ejemplo null allí si te funciona el llamado a la función
1.-En mi función JS le coloque un default en el argumento:
1
function calcularSubtotal(row = null)
2.- En el llamado en el onchange no le puse nada como argumento
1
onchange="calcularSubtotal()"

Allí me funciono a la perfección.

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