Java scipt sumar variables

Quiero insertar datos numéricos a una base de datos
para ello intento la suma de sub totales
la cual sera el gran total... Sin embargo no allo como
sumar estos subtotales del formulario sin mandar los datos a
la base de datos o a otra ubicación (php -que es el lenguaje que estoy usando-)
Por lo tanto me interesa un script que me ayude a calcular los subtotales
(Aun que tenga que tomarlos de un "alert" de script y capturarlo en la casilla de gran total del formulario)
{"lat":19.4277439359489,"lng":-99.1763305664063}

1 respuesta

Respuesta
1
Primero saber, cuantas casillas de formulario son las que tiene implicadas para su cálculo.
¿Son 2 casillas para sumar y una que muestra el total?
¿Cuándo quiere que realice la operación? ¿Al darle a un botón? ¿Al insertar algún dato en alguna casilla?
¿Desea realizar después del proceso de cálculo el envío del formulario?
Comenteme un poco más extenso, para poderle plantear la función.
Hola de nuevo
Mira deseo calcular por lo menos el valor de 5 casillas input del formulario,
para, de preferencia, mostrarlo en otra casilla input, del mismo formulario...
Para que al realizar el calculo y mostrarlo en la casilla en ese mismo momento...
Logre realizar otro calculo -que tengo pendiente- (es una resta) y completar mi formulario
y con ello hacer el submit que almacenara los datos en un DB o BD sql.
El asunto esta así
stotal1 + stotal2 + stotal3+ stotal4 +stotal5 = gtotal
gtoal - aportacion = pendiente
me pareceria combeniente que el script mostrara en la casilla imput de "gtotal" el valor conforme se ingrensan los stotales del 1 al 5
posteriormente
un script que calcule la resta de gtotal menos la casilla imput de "aportaciones" y la muestre en esemismo momento en la casilla imput "pendiente" el esultado de la resta
... espero que puedan ayudarme... plis
En los input hay que ponerle un id a parte de una llamada a una función.
Podemos poner el mismo id y el mismo name igual en el input, no hay problema, y procedemos a llamar a una función cada vez que se efectúe un cambio en cada caja de
Los input, así estarán completamente actualizadas todas las casillas de operaciones:
<input type="text" id="stotal1" name="stotal1" onChange="Evaluacampos();" value="0">
<input type="text" id="stotal2" name="stotal2" onChange="Evaluacampos();" value="0">
<input type="text" id="stotal3" name="stotal3" onChange="Evaluacampos();" value="0">
<input type="text" id="stotal4" name="stotal4" onChange="Evaluacampos();" value="0">
<input type="text" id="stotal5" name="stotal5" onChange="Evaluacampos();" value="0">
<input type="text" id="gtotal" name="gtotal" onChange="Evaluacampos();" value="0">
<input type="text" id="aportacion" name="aportacion" onChange="Evaluacampos();" value="0">
<input type="text" id="pendiente" name="pendiente" onChange="Evaluacampos();" value="0">

Por lo menos los id de cada input, póngale esos, ya que la programación del script los he realizado con esos id's y la llamada de la función onChange también seria conveniente que se dejara como está, ya que la función se llama así y cualquier variación podría conllevar a errores a no ser que tuviera total certeza de saber cambiarlo.
El codigo este tiene que ir entre las etiquetas
<head>
</head>
:

<script languaje="text/javascript">
function Evaluacampos(){
 if(document.getElementById('stotal1').value==""){
  document.getElementById('stotal1').value=0;
 }else{
  document.getElementById('stotal1').value=document.getElementById('stotal1').value.replace(",",".");
 }
 if(document.getElementById('stotal2').value==""){
  document.getElementById('stotal2').value=0;
 }else{
  document.getElementById('stotal2').value=document.getElementById('stotal2').value.replace(",",".");
 }
 if(document.getElementById('stotal3').value==""){
  document.getElementById('stotal3').value=0;
 }else{
  document.getElementById('stotal3').value=document.getElementById('stotal3').value.replace(",",".");
 }
 if(document.getElementById('stotal4').value==""){
  document.getElementById('stotal4').value=0;
 }else{
  document.getElementById('stotal4').value=document.getElementById('stotal4').value.replace(",",".");
 }
 if(document.getElementById('stotal5').value==""){
  document.getElementById('stotal5').value=0;
 }else{
  document.getElementById('stotal5').value=document.getElementById('stotal5').value.replace(",",".");
 }
 if(document.getElementById('aportacion').value==""){
  document.getElementById('aportacion').value=0;
 }else{
  document.getElementById('aportacion').value=document.getElementById('aportacion').value.replace(",",".");
 }
 if(document.getElementById('gtotal').value==""){
  document.getElementById('gtotal').value=0;
 }else{
  document.getElementById('gtotal').value=document.getElementById('gtotal').value.replace(",",".");
 }
 if(document.getElementById('pendiente').value==""){
  document.getElementById('pendiente').value=0;
 }else{
  document.getElementById('pendiente').value=document.getElementById('pendiente').value.replace(",",".");
 }
 if(!isNaN(document.getElementById('stotal1').value) && !isNaN(document.getElementById('stotal2').value) && !isNaN(document.getElementById('stotal3').value) && !isNaN
(document.getElementById('stotal4').value) && !isNaN(document.getElementById('stotal5').value) && !isNaN(document.getElementById('aportacion').value) && !isNaN
(document.getElementById('gtotal').value) && !isNaN(document.getElementById('pendiente').value)){
 document.getElementById('gtotal').value=eval(parseFloat(document.getElementById('stotal1').value)+parseFloat(document.getElementById('stotal2').value)+parseFloat
(document.getElementById('stotal3').value)+parseFloat(document.getElementById('stotal4').value)+parseFloat(document.getElementById('stotal5').value));
 document.getElementById('pendiente').value=eval(parseFloat(document.getElementById('gtotal').value)-parseFloat(document.getElementById('aportacion').value));
 }else{
  alert("Hay algún dato no numérico en los campos");
 }
}
</script>


Le comento lo que hace el script:
-Primero, comprueba que todos los campos están rellenos, si no están rellenos le pone un 0.
-Segundo, en el caso de que hayan decimales, sustituye la "," por "." para el cálculo correcto. También puede trabajar con decimales.
-Tercero, comprueba que todos los campos sean numéricos, en el caso de que alguno no sea numérico, no sigue la operación y muestra un alert advirtiendo del error.
-Cuarto, Realiza las operaciones que deseaba.
 Suma: stotal1 + stotal2 + stotal3+ stotal4 +stotal5 = gtotal
 Resta: gtoal - aportacion = pendiente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas