Foros del Web » Programando para Internet » Javascript »

multiplicar inputs text

Estas en el tema de multiplicar inputs text en el foro de Javascript en Foros del Web. Buenas tardes amigos, la problematica que presento es la siguiente: tengo un formulario en HTML y un <input text> donde coloco un valor entero, de ...
  #1 (permalink)  
Antiguo 10/03/2011, 15:01
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 15 años, 4 meses
Puntos: 0
multiplicar inputs text

Buenas tardes amigos, la problematica que presento es la siguiente:

tengo un formulario en HTML y un <input text> donde coloco un valor entero, de ahi otro <input text> donde deseo colocar el resultado del 1er input pero multiplicado x el 1.65 esta cantidad es interna

Como lo hago???

Este es mi codigo:

[HTML]<table><form name="frmproducto" method="post" action="insertaProd.php" >
<tr>
<td>Clave:</td>
<td><input name="clave" type="text" size="10" maxlength="10"/></td></tr>
<tr>
<td>Descripcion:</td>
<td><input name="descrp" type="text" size="55" maxlength="65"/></td></tr>
<tr>
<td>Costo:</td>
<td><input name="costo" type="text" size="7" maxlength="8"/></td></tr>
<tr>
<td>Precio 1:</td>
<td><input name="pre1" type="text" size="7" maxlength="8" disabled="disabled" /></td></tr>

</td></tr>
<tr>
<td></td><td height="30"></td></tr>
<tr>
<td colspan="2" align="center"><p></p>
<button type="submit" ><img src="imgs/add_48.png" alt="Agrega" align="absmiddle"/>Agregar</button>&nbsp;
<button type="reset" ><img src="imagenes/edit-clear.png" alt="Restablecer campos" align="absmiddle" width="24" height="24"/> Limpiar</button>
</td></tr>
</form>
</table>[HTML]
  #2 (permalink)  
Antiguo 10/03/2011, 17:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: multiplicar inputs text

algo asi como esto
Código HTML:
Ver original
  1. function calc(){
  2. var por;
  3. por = parseInt(document.getElementById('costo').value) * 1.65;
  4. document.getElementById('pre1').value = por;
  5. }
  6. <table><form id="frmproducto" method="post" action="insertaProd.php" >
  7. <tr>
  8. <td>Clave:</td>
  9. <td><input id="clave" type="text" size="10" maxlength="10"/></td></tr>
  10. <tr>
  11. <td>Descripcion:</td>
  12. <td><input id="descrp" type="text" size="55" maxlength="65"/></td></tr>
  13. <tr>
  14. <td>Costo:</td>
  15. <td><input id="costo" type="text" size="7" maxlength="8"/></td></tr>
  16. <tr>
  17. <td>Precio 1:</td>
  18. <td><input id="pre1" type="text" size="7" maxlength="8" disabled="disabled" /></td></tr>
  19.  
  20. </td></tr>
  21. <tr>
  22. <td></td><td height="30"></td></tr>
  23. <tr>
  24. <td colspan="2" align="center"><p></p>
  25. <button type="button" onclick="calc()"><img src="imgs/add_48.png" alt="Agrega" align="absmiddle"/>Agregar</button>&nbsp;
  26. <button type="reset" ><img src="imagenes/edit-clear.png" alt="Restablecer campos" align="absmiddle" width="24" height="24"/> Limpiar</button>
  27. </td></tr>
  28. </form>
  #3 (permalink)  
Antiguo 10/03/2011, 17:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: multiplicar inputs text

Excelente!!!!!!!!! gracias alan, ahora si quiero que no salgan tantos decimales como sera???
  #4 (permalink)  
Antiguo 10/03/2011, 19:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: multiplicar inputs text

como cuantos caracteres quieres
  #5 (permalink)  
Antiguo 10/03/2011, 20:32
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: multiplicar inputs text

Aqui esta el nuevo codigo si tienes mas preguntas dimelas que si puedo con gusto te ayudare
Código HTML:
Ver original
  1. function calc(Num_caracteres){
  2. var str = document.getElementById('pre1');
  3. var str2 = document.getElementById('costo');
  4. var RegExPattern = /^([0-9]{0,10})$/;
  5. var errorMessage = 'Solo numeros por favor';
  6. if ((str2.value.match(RegExPattern)) && (str2.value!='')) {
  7. var por;
  8. por = parseInt(document.getElementById('costo').value) * 1.65;
  9. var a1 = str.value = por;
  10. var a2 = str.value.substring(0,Num_caracteres);
  11. str.value = a2;  
  12. } else {
  13. alert(errorMessage);
  14. str.focus();
  15. }
  16. }
  17. <table><form id="frmproducto" method="post" action="insertaProd.php" >
  18. <tr>
  19. <td>Clave:</td>
  20. <td><input id="clave" type="text" size="10" maxlength="10"/></td></tr>
  21. <tr>
  22. <td>Descripcion:</td>
  23. <td><input id="descrp" type="text" size="55" maxlength="65"/></td></tr>
  24. <tr>
  25. <td>Costo:</td>
  26. <td><input id="costo" type="text" size="7" maxlength="8"/></td></tr>
  27. <tr>
  28. <td>Precio 1:</td>
  29. <td><input id="pre1" type="text" size="7" maxlength="8" disabled="diabled"/></td></tr>
  30.  
  31. </td></tr>
  32. <tr>
  33. <td></td><td height="30"></td></tr>
  34. <tr>
  35. <td colspan="2" align="center"><p></p>
  36. <button type="button" onclick="calc('5')"><!-- en el evento onclick iria por ejmplo si quieres 5 caractes pones calc('5') o el numero que quieras--><img src="imgs/add_48.png" alt="Agrega" align="absmiddle"/>Calcular</button>&nbsp;
  37. <button type="submit"><img src="imgs/add_48.png" alt="Agrega" align="absmiddle"/>Agregar</button>&nbsp;
  38. <button type="reset" ><img src="imagenes/edit-clear.png" alt="Restablecer campos" align="absmiddle" width="24" height="24"/> Limpiar</button>
  39. </td></tr>
  40. </form>

Última edición por alanmedbel; 10/03/2011 a las 21:22
  #6 (permalink)  
Antiguo 14/03/2011, 08:55
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: multiplicar inputs text

Hola Alan, agradezco mucho tu apoyo y amabilidad para ayudarme en este tema, el fin de semana vi la respuesta pero no pude postear, probe el codigo nuevo que pusiste y anda muy bien, excelente;

lo unico que noté fue que al calcular pre1 x costo lo hace bien, pero en la funcion en el parametro que se le envia "calc('5'), se pone a los caracteres que estan en el parentesis, me explico:

12 x 1.65= 19.8; (este es el resultado exacto)
en el código hace el calculo y da resultado: 19.799999; como solo pido 5 caracteres pone 19.79; es decir, quita, esconde, no muestra la cantidad completa. Que dé la cantidad exacta

Otro detalle es en la validacion del cuadro de texto Costo, solo acepta enteros, si deseo poner 10.50 me sale el msj de alerta "Solo numeros por favor".

Saludos Alan y muchas gracias

Última edición por santiago_montero; 14/03/2011 a las 09:36
  #7 (permalink)  
Antiguo 16/03/2011, 17:09
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: multiplicar inputs text

Cita:
Iniciado por santiago_montero Ver Mensaje
Hola Alan, agradezco mucho tu apoyo y amabilidad para ayudarme en este tema, el fin de semana vi la respuesta pero no pude postear, probe el codigo nuevo que pusiste y anda muy bien, excelente;

lo unico que noté fue que al calcular pre1 x costo lo hace bien, pero en la funcion en el parametro que se le envia "calc('5'), se pone a los caracteres que estan en el parentesis, me explico:

12 x 1.65= 19.8; (este es el resultado exacto)
en el código hace el calculo y da resultado: 19.799999; como solo pido 5 caracteres pone 19.79; es decir, quita, esconde, no muestra la cantidad completa. Que dé la cantidad exacta

Otro detalle es en la validacion del cuadro de texto Costo, solo acepta enteros, si deseo poner 10.50 me sale el msj de alerta "Solo numeros por favor".

Saludos Alan y muchas gracias
haber no entendi muy bien pero mas o menos quieres que al multiplicar 12 x 1.65 de 19.8 exactamente vdd,pues veras no se muy bien como funcionan los operadores en js que el resultado final siempre es 19.799999999999997 y no se porque e probado en mas navegadores y nada;
respecto a lo de la validacion ia lo corregi solo cambia el script por este otro
Código Javascript:
Ver original
  1. function calc(Num_caracteres){
  2. var str = document.getElementById('pre1');
  3. var str2 = document.getElementById('costo');
  4. var por;
  5. por = document.getElementById('costo').value * 1.65;
  6. var a1 = str.value = por;
  7. var a2 = str.value.substring(0,Num_caracteres);
  8. str.value = a2;
  9. if(isNaN(str.value) == true)
  10. alert('solo numeros por favor');
  11. //str.value = '';
  12. }

Etiquetas: inputs, multiplicar, txt
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 23:26.