Seleccionar página

Calcular un campo a partir de otros dos usando Javascript

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

27/11/2008

Haciendo un intermedio en la serie sobre cómo crear una aplicación utilizando Oracle Apex, quiero ofrecerles este “truco” para poder calcular el valor de un campo numérico a partir de otros dos campos.

Para esto, lógicamente necesitamos una página que contenga una región con tres campos de tipo texto:

  • Los campos con los valores a utilizar PX_1 y PX_2 (donde X es el número de página de la aplicación).
  • El campo donde dejaremos en resultado de la operación PX_TOTAL.

Para realizar la suma de los campos PX_1 y PX_2, primero copie el siguiente código en la “Cabezera HTML” de la Página:

<script type=”text/javascript”>
function sumaItems()
{
function getVal(item)
{
if(document.getElementById(item).value != “”)
return parseFloat(document.getElementById(item).value);
else
return 0;
}
document.getElementById(‘PX_TOTAL’).value =
getVal(‘PX_1’) + getVal(‘PX_2’);
}
</script>

Por supuesto, cambie los nombres de variables por los que usted está utilizando.

Segundo: en el campo PX_2, en los “Atributos de Elemento de Pantalla HTML”, escriba el siguiente código:

onBlur=”javascript:sumaItems()”

Eso es todo, ahora ejecute su página y escriba dos valores numéricos en los campos PX_1 y PX_2, luego del campo PX_2 pulse la tecla de tabulación y el campo PX_TOTAL será calculado y su valor mostrado.

Como es de suponer, puede realizar cualquier otro tipo de cálculos más complejos.

Puede ver este ejemplo implementado para suma, resta, multiplicación y división en mi aplicación de ejemplo en OTN, en la siguiente dirección: http://apex.oracle.com/pls/otn/f?p=56897.

También te puede gustar…

Share This