Foros del Web » Programando para Internet » Javascript »

Multiplicar campos

Estas en el tema de Multiplicar campos en el foro de Javascript en Foros del Web. Amigos No manejo absolutamente nada de js ( muy mal) Necesito multiplicar son inputs y me de el resultado en un tercer input (totalpXq) , ...
  #1 (permalink)  
Antiguo 25/07/2006, 14:34
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 21 años
Puntos: 0
Multiplicar campos

Amigos
No manejo absolutamente nada de js ( muy mal)
Necesito multiplicar son inputs y me de el resultado en un tercer input (totalpXq) , tengo los nombre de los input , asi :

Código HTML:
 <tr>
      <td><input name="PRODUCTO[]" type="text" id="PRODUCTO[]" size="50" /></td>
      <td><input name="NP[]" type="text" id="NP[]" /></td>
      <td><input name="CANTIDAD[]" type="text" id="CANTIDAD[]" size="4" /></td>
      <td><input name="PRECIO[]" type="text" id="PRECIO[]" size="15" /></td>
      <td><input name="totalpXq" type="text" id="totalpXq" size="15" /></td>
    </tr>
    <tr>
      <td><input name="PRODUCTO[]" type="text" id="PRODUCTO[]" size="50" /></td>
      <td><input name="NP[]" type="text" id="NP[]" /></td>
      <td><input name="CANTIDAD[]" type="text" id="CANTIDAD[]" size="4" /></td>
      <td><input name="PRECIO[]" type="text" id="PRECIO[]" size="15" /></td>
      <td><input name="totalpXq" type="text" id="totalpXq" size="15" /></td>
    </tr>
.
.
.
n Items . . .
estos datos son enviados a otra pagina con un POST q lo recibe y los mete a la bd ( <form id="COTI" name="COTI" method="post" action="form_coti_recibe.php"> )

por favor ayudenme , voy super lento en esto

GRACIAS!!!
  #2 (permalink)  
Antiguo 25/07/2006, 15:45
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Buenas noches 4sc1r

Me imagino, que lo que queires hacer, atendiendo a los campos que tienes
Código PHP:
 <tr>
      <
td><input name="PRODUCTO[]" type="text" id="PRODUCTO[]" size="50" /></td>
      <
td><input name="NP[]" type="text" id="NP[]" /></td>
      <
td><input name="CANTIDAD[]" type="text" id="CANTIDAD[]" size="4" /></td>
      <
td><input name="PRECIO[]" type="text" id="PRECIO[]" size="15" /></td>
      <
td><input name="totalpXq" type="text" id="totalpXq" size="15" /></td>
    </
tr>
<
tr>
      <
td><input name="PRODUCTO[]" type="text" id="PRODUCTO[]" size="50" /></td>
      <
td><input name="NP[]" type="text" id="NP[]" /></td>
      <
td><input name="CANTIDAD[]" type="text" id="CANTIDAD[]" size="4" /></td>
      <
td><input name="PRECIO[]" type="text" id="PRECIO[]" size="15" /></td>
      <
td><input name="totalpXq" type="text" id="totalpXq" size="15" /></td>
    </
tr
es que del primer grupo, se multipliquen datos de las cajas, y te de el resultado.

Debes de especificar varias cosas...
1.- Quieres que la multiplicación y poner el resultado se haga cuando des al enviar, e internamente, antes de mandarlo, se calcule todo?

2.- Quieres que segun estés escribiendo en las cajas de texto, te valla apareciendo el resultado de las operaciones pertinentes?
Si es asi, deberías de especificarnos, mucho mejor, que campos son los que realizan las operaciones (me imagino que multiplicar la cantidad de productos, por el precio del producto... pero con eso, me imagino que el precio, no debes de poder modificarlo, no?)

Además ten en cuenta, de que si quieres que en "tiempo de ejecución", según se escriban datos en las cajas, se haga el cálculo, hay que preparar las cajas para que no se puedan meter letras, porque sino, multiplicar un numero por una letra, produciría un desbordamiento.
Especifica un poco más tu funcionamiento, y podremos ayudarte mejor.

Saludos

  #3 (permalink)  
Antiguo 25/07/2006, 16:15
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 21 años
Puntos: 0
Gracias Javi.
Ahora explicare mejor el problema
  • Quiero q a medida q se vaya introduciendo (tecleando) un numero en CANTIDAD y en PRECIO se multiplike en el campo totalpXq inmediatamente .
  • Los datos son ingresado a mano , tanto productos como cantidades y precios,los cuales son recibidos en otra pagina mediante un $_POST e introducidos a la base de datos mediante un for .

Bueno genero los items con un for en php, los cuales deben contener los corchetes (input) para enviarlos como arrays.

Por el momento no tenia contemplado guardar el calculo q hace pXq en la base de datos, pero eso es otro tema...

La gracia es ke mi viejo vaya viendo altiro el calculo , p q actualmente maneja todo en excel y es en verdad un desorden cuando kiere encontrar un precio d algun producto. Por lo tanto este formulario tiene las funciones de una Cotizacion o Presupuesto.

Última edición por 4sc1r; 25/07/2006 a las 16:21
  #4 (permalink)  
Antiguo 26/07/2006, 22:00
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 21 años
Puntos: 0
Bueno, ya lo resolvi ... pero usando SESSIONes en php , ahora solo me resta validar los campos

Salu2
  #5 (permalink)  
Antiguo 04/10/2009, 21:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Multiplicar campos

y pq no publicaste la solucion??'
  #6 (permalink)  
Antiguo 20/10/2009, 07:04
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 21 años
Puntos: 0
Respuesta: Multiplicar campos

Cita:
Iniciado por bjorkboy Ver Mensaje
y pq no publicaste la solucion??'
Al final lo hice con js, http://webdeveloper.earthweb.com/web...php/431_viewit
Código HTML:
<!-- This script has been in the http://www.javascripts.com Javascript Public Library! -->
<!-- Note that though this material may have been in a public depository, certain author copyright restrictions may apply. -->
<HTML><HEAD><TITLE>got a quantity? Price? This gives the total.</TITLE>
<SCRIPT>

function dp(price) 
{
   string = "" + price;
   number = string.length - string.indexOf('.');
   if (string.indexOf('.') == -1)
      return string + '.00';
   if (number == 1)
      return string + '00';
   if (number == 2)
      return string + '0';
   if (number > 3)
      return string.substring(0,string.length-number+3);
return string;
}

function calculate()
{
document.calcform.total1.value = dp((document.calcform.price1.value)*(document.calcform.quantity1.value))
document.calcform.total2.value = dp((document.calcform.price2.value)*(document.calcform.quantity2.value))
document.calcform.total3.value = dp((document.calcform.price3.value)*(document.calcform.quantity3.value))
document.calcform.subtotal.value = dp(eval(document.calcform.total1.value) + eval(document.calcform.total2.value) + eval(document.calcform.total3.value))
document.calcform.tax.value = dp((document.calcform.subtotal.value)*0.175)
document.calcform.total.value = dp((document.calcform.subtotal.value)*1.175)
}

</SCRIPT>
</HEAD><BODY bgcolor="#ffffff" onload="calculate"><CENTER>

<FORM name="calcform" action="mailto:[email protected]" method="post">

<TABLE cellpadding=2 border=2 cellspacing=2><TR><TD>QUANTITY</TD><TD>PRICE</TD><TD>TOTAL</TD></TR>

<TR>
<TD><INPUT type="text" name="quantity1" ONCHANGE="calculate()"></TD>
<TD><INPUT type="text" name="price1" ONCHANGE="calculate()"></TD>
<TD><INPUT type="text" name="total1"></TD>
</TR>

<TR>
<TD><INPUT type="text" name="quantity2" ONCHANGE="calculate()"></TD>
<TD><INPUT type="text" name="price2" ONCHANGE="calculate()"></TD>
<TD><INPUT type="text" name="total2"></TD>
</TR>

<TR>
<TD><INPUT type="text" name="quantity3" ONCHANGE="calculate()"></TD>
<TD><INPUT type="text" name="price3" ONCHANGE="calculate()"></TD>
<TD><INPUT type="text" name="total3"></TD>
</TR>
<TR><TD></TD><TD>SUBTOTAL</TD><TD><INPUT type="text" name="subtotal"></TD></TR>
<TR><TD></TD><TD>TAX - 17.5%</TD><TD><INPUT type="text" name="tax"></TD></TR>
<TR><TD></TD><TD>GRAND TOTALL</TD><TD><INPUT type="text" name="total"></TD></TR>
</TABLE><INPUT type="button" Value="PRESS FIRST to calculate the values" ONCLICK="calculate()"><BR><INPUT type="submit" Value="Then click this to SUBMIT"><BR>If ya liked this javescript, ask me for <A HREF="mailto:[email protected]">MORE!!</A>
<BR><BR>JMF says BOO!!</FORM>

</BODY></HTML>
<!-- Tommy Raven (Min) says Moo. -->

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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:50.