Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Hacer calculos de los input recibidos

Estas en el tema de Hacer calculos de los input recibidos en el foro de Javascript en Foros del Web. Hola a todos, Necesito hacer un calculo con los datos recibidos del input antes de enviar a la otra pagina. Necesito que calcule los metros ...
  #1 (permalink)  
Antiguo 24/01/2014, 08:05
 
Fecha de Ingreso: agosto-2012
Ubicación: Barcelona
Mensajes: 243
Antigüedad: 11 años, 8 meses
Puntos: 1
Hacer calculos de los input recibidos

Hola a todos,

Necesito hacer un calculo con los datos recibidos del input antes de enviar a la otra pagina.
Necesito que calcule los metros cubicos osea largo x ancho x altura de los datos recibidos por input y me los muestre en la parte que indico después de aceptar el alto.
No se javascript a ver si alguien me puede ayudar.





dejo aqui el programa
Código PHP:

Código PHP:
Ver original
  1. <form method="POST" action="calctransnacional.php"/>
  2.              <table>
  3.                  <tr>
  4.                    <td>
  5.                        * Medidas en mm Largo:
  6.                    </td>
  7.                    <td>
  8.                         <input type="text" name="largo" size="10" title="Ingrese el valor con decimales con punto -> ejemplo: 12.10"/>
  9.                        
  10.                    </td>      
  11.                 </tr>
  12.                
  13.                <tr>
  14.                    <td>
  15.                        * Medidas en mm Ancho:
  16.                    </td>
  17.                    <td>
  18.                         <input type="text" name="ancho" size="10" title="Ingrese el valor con decimales con punto -> ejemplo: 12.10"/>
  19.                        
  20.                    </td>      
  21.                 </tr>
  22.                
  23.                 <tr>
  24.                    <td>
  25.                        * Medidas en mm Alto:
  26.                    </td>
  27.                    <td>
  28.                         <input type="text" name="alto" size="10" title="Ingrese el valor con decimales con punto -> ejemplo: 12.10"/>
  29.                        
  30.                    </td>      
  31.                 </tr>
  32.                
  33.                 <tr>
  34.                    <td>
  35.                        * M3 x 270 kg:
  36.                    </td>
  37.                    <td>
  38.                    
  39.                       Aqui es donde necesito que haga los calculos y me los muestre
  40.      
  41.                    </td>      
  42.                 </tr>
  43.                
  44.                  <tr>
  45.                    <td>
  46.                        * Peso:
  47.                    </td>
  48.                    <td>
  49.                         <input type="text" name="peso" size="10" title="Ingrese el valor del peso que sea mayor (el calculado m3 o el peso bruto) con decimales con punto -> ejemplo: 12.10"/>
  50.                    </td>      
  51.                 </tr>
  52.                
  53.                  <tr>
  54.                    <td>
  55.                        * Zona:
  56.                    </td>
  57.                    <td>
  58.                         <input type="text" name="zona" size="10" />
  59.                    </td>      
  60.                 </tr>
  61.                
  62.                 <tr>
  63.                    <td>
  64.                        * Descripcion:
  65.                    </td>
  66.                    <td>
  67.                         <input type="text" name="descripcion" size="30" />
  68.                    </td>      
  69.                 </tr>
  70.                
  71.            
  72.            
  73.              
  74.              
  75.               <tr>
  76.                  <td><br><br>
  77.                    <input type="submit" name="submit" class="button" value="Ingresar" />
  78.                    <input type="reset"  class="button"/>
  79.                    <a href="articulos.php" class="button">Volver</a>
  80.                  </td>
  81.               </tr>
  82.            </table>
Ver original
  #2 (permalink)  
Antiguo 24/01/2014, 08:08
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Hacer calculos de los input recibidos

Hombre... que te lo hagamos todo... esto es para aprender..

coloca un id a cada elemento
puedes trabajar con los elementos por el id previamente colocado

document.getElementById("Id")

Con eso tienes medio problema resuelto.

Te falta usar el evento de envío en el formulario y pararlo para procesar lo que necesitas.
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 24/01/2014, 08:43
 
Fecha de Ingreso: agosto-2012
Ubicación: Barcelona
Mensajes: 243
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Hacer calculos de los input recibidos

Hola,

Gracias por responder, he probado a hacer lo siguiente pero como he dicho antes nunca he hecho nada con javascript es por eso que pido ayuda.

No se si lo he hecho bien ahora necesito que lo muestre.

Código PHP:
Ver original
  1. <tr>
  2.                <td>
  3.                    * Medidas en mm Largo:
  4.                </td>
  5.                <td>
  6.                     <input type= text id="largo" size="10" title="Ingrese el valor con decimales con punto -> ejemplo: 12.10" />
  7.                     <script>
  8.                     document.getElementById("largo")
  9.                     </script>
  10.                </td>       
  11.             </tr>
  12.            
  13.            <tr>
  14.                <td>
  15.                    * Medidas en mm Ancho:
  16.                </td>
  17.                <td>
  18.                     <input type="text" id="ancho" size="10" title="Ingrese el valor con decimales con punto -> ejemplo: 12.10" />
  19.                     <script>
  20.                     document.getElementById("ancho")
  21.                     </script>
  22.                    
  23.                </td>       
  24.             </tr>
  25.            
  26.             <tr>
  27.                <td>
  28.                    * Medidas en mm Alto:
  29.                </td>
  30.                <td>
  31.                      <input type="text" id="alto"  size="10" title="Ingrese el valor con decimales con punto -> ejemplo: 12.10" />
  32.                      <script>
  33.                      document.getElementById("alto")
  34.                      </script>
  35.                    
  36.                </td>       
  37.             </tr>
  38.            
  39.             <tr>
  40.                <td>
  41.                
  42.                    * M3 x 270 kg:
  43.                    
  44.                    <SCRIPT>
  45.                         function calcular(){...}
  46.                         function calculo(largo,ancho,alto,inputtext){
  47.    
  48.                         // Calculo del subtotal
  49.                         subtotal = largo*ancho*alto;
  50.                         inputtext.value=subtotal;
  51.                        
  52.                            
  53.                     }
  54.                    </SCRIPT>
  55.                    
  56.                    
  57.                </td>
  58.                <td>

Gracias y saludos
  #4 (permalink)  
Antiguo 24/01/2014, 12:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hacer calculos de los input recibidos

Lo único que tienes que haces es asignarle un Id a cada caja de texto y cuando realices el envío de datos del formulario, cancelas la acción del evento submit, realizas el cálculo, lo muestras y luego de unos segundos, envías los datos del formulario para su procesamiento.

Código HTML:
Ver original
  1. <form id = "miFormulario" action = "proceso.php" method = "post">
  2.     Largo: <input type = "text" name = "largo" id = "largo" />
  3.     Ancho: <input type = "text" name = "ancho" id = "ancho" />
  4.     Altura: <input type = "text" name = "altura" id = "altura" />
  5.     Metros cúbicos: <input type = "text" name = "calculo" id = "calculo" readOnly />
  6.  
  7.     <input type = "submit" value = "Calcular y Enviar" />
  8. </form>

Código Javascript:
Ver original
  1. var formulario = document.getElementById("miFormulario");
  2.  
  3. formulario.addEventListener("submit", function(event){
  4.     var largo = Number(document.getElementById("largo").value),
  5.         ancho = Number(document.getElementById("ancho").value),
  6.         altura = Number(document.getElementById("altura").value),
  7.         metrosCubicos = document.getElementById("calculo");
  8.     event.preventDefault();
  9.     metrosCubicos.value = largo * ancho * altura;
  10.     setTimeout(function(){
  11.         formulario.submit();
  12.     }, 3000);
  13. }, false);

En el documento HTML, tengo un formulario, el cual contiene 3 cajas de texto en donde ingresaré los valores a procesar, además de una cuarta caja que es en donde se mostrará el resultado de dicho cálculo y un botón para enviar los datos del formulario hacia el archivo "proceso.php" que es el que indico en el atributo action del formulario.

En el código JS, tomo al formulario por su Id, luego, con el método addEventListener, le añado el evento submit como evento escuchador, el cual al producirse, ejecutará una función. En dicha función, tomo los valores de las 3 cajas de texto del formulario, los cuales son convertidos a tipo numérico con la función Number(), ya que se considera como una cadena de caracteres a todo valor contenido en una caja de texto, por lo que no podría realizar operaciones matemáticas; además, tomo a la caja en donde se mostrará el resultado, evito que se produzca el comportamiento natural del evento submit que es el de enviar los valores del formulario hacia un archivo de destino en el que se les procesará, para lo cual hago uso del método preventDefault. Luego de esto, realizo la multiplicación de los valores ingresados y los asigno a la caja de texto en donde quiero que se muestre el resultado.

Finalmente, con el método setTimeout, ejecuto una función transcurridos 3000 milisegundos o 3 segundos. En dicha función, enviaré los datos del formulario hacia el archivo "proceso.php" que es el que se indicó en su atributo action, para lo cual hago uso del método submit().

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 24/01/2014 a las 13:03

Etiquetas: input, php, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:42.