Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/06/2010, 06:18
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cálculo de promedio con opciones avanzadas

Código HTML:
Ver original
  1. <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
  2. <meta name="ProgId" content="FrontPage.Editor.Document">
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  4. <title>Pagina nueva 2</title>
  5. </head>
  6. <form name="editar" action='' method='post'>
  7. <!--no puedes usar onchange en los text, usa onkeyup y onkeydown-->
  8. <input type="text" name="p1" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  9. <input type="text" name="p2" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  10. <input type="text" name="p3" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  11. <input type="text" name="p4" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  12. <input type="text" name="p5" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  13. <input type="text" name="p6" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  14. <input type="text" name="p7" value="" size="4" onkeyup="promedio();" onkeydown='promedio();' />
  15. <input type="text" name="pg" value="" size="4" />
  16. </form>
  17. </body>
  18. </html>

Código Javascript:
Ver original
  1. <script type='text/javascript'>
  2. //puedes usar arrays
  3. function promedio(){
  4. var p = new Array();
  5. p[0] = document.editar.p1.value;
  6. p[1] = document.editar.p2.value;
  7. p[2] = document.editar.p3.value;
  8. p[3] = document.editar.p4.value;
  9. p[4] = document.editar.p5.value;
  10. p[5] = document.editar.p6.value;
  11. p[6] = document.editar.p7.value;
  12. for (i=0; i<=p.length; i++){
  13. p[i] = (!isNaN(p[i]) && p[i] != '')? Number(p[i]): 0;
  14. }
  15. //a partir de aquí tienes que cambiar p1 por p[0], p2 por p[1],... pn por p[n-1]
  16. if (p1 != ""){
  17. document.editar.pg.value = p1;
  18. }
  19. if (p1 && p2 != ""){
  20. var suma1 = p1 + p2;
  21. var pg = Number(suma1 / 2);
  22. //aquí entiendo que quieres reducirlo a un decimal ¿no?
  23. //entonces pon toFixed(1)
  24. pg = pg.toFixed(3);
  25. pg = pg.substring(0, pg.length - 2);
  26. document.editar.pg.value = pg
  27. }
  28. if (p1 && p2 && p3 != ""){
  29. var suma2 = p1 + p2 + p3;
  30. var pg = Number(suma2 / 3);
  31. pg = pg.toFixed(3);
  32. pg = pg.substring(0, pg.length - 2);
  33. document.editar.pg.value = pg
  34. }
  35. if (p1 && p2 && p3 && p4 != ""){
  36. var suma3 = p1 + p2 + p3 + p4;
  37. var pg = Number(suma3 / 4);
  38. pg = pg.toFixed(3);
  39. pg = pg.substring(0, pg.length - 2);
  40. document.editar.pg.value = pg
  41. }
  42. if (p1 && p2 && p3 && p4 && p5 != ""){
  43. var suma4 = p1 + p2 + p3 + p4 + p5;
  44. var pg = Number(suma4 / 5);
  45. pg = pg.toFixed(3);
  46. pg = pg.substring(0, pg.length - 2);
  47. document.editar.pg.value = pg
  48. }
  49. if (p1 && p2 && p3 && p4 && p5 && p6 != ""){
  50. var suma5 = p1 + p2 + p3 + p4 + p5 + p6;
  51. var pg = Number(suma5 / 6);
  52. pg = pg.toFixed(3);
  53. pg = pg.substring(0, pg.length - 2);
  54. document.editar.pg.value = pg
  55. }
  56. if (p1 && p2 && p3 && p4 && p5 && p6 && p7 != ""){
  57. var suma6 = p1 + p2 + p3 + p4 + p5 + p6 + p7;
  58. var pg = Number(suma6 / 7);
  59. pg = pg.toFixed(3);
  60. pg = pg.substring(0, pg.length - 2);
  61. document.editar.pg.value = pg
  62. }
  63. }
  64. </script>

Saludos (:

Última edición por _cronos2; 20/06/2010 a las 09:17