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 de neicos
1
1
neicos, Analista de sistemas y Programador en: Basic,c,c++,visual...
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