Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Suma javascript

Estas en el tema de Suma javascript en el foro de Javascript en Foros del Web. Muy buen día! Espero me puedan apoyar. Tengo una pequeña aplicación web que tiene algunos scripts que considero relevantes para su operación, de igual manera ...
  #1 (permalink)  
Antiguo 24/02/2015, 10:39
 
Fecha de Ingreso: octubre-2014
Mensajes: 63
Antigüedad: 9 años, 5 meses
Puntos: 0
Suma javascript

Muy buen día! Espero me puedan apoyar. Tengo una pequeña aplicación web que tiene algunos scripts que considero relevantes para su operación, de igual manera trabajo con PHP, voy a describir a grandes rasgos esta función:
Tengo un codigo PHP que me llena los campos de un formulario HTML desde una base de datos:
Los valores los devuelvo en diferentes tipos de campos como select e input.
Al momento que ejecuto mi consulta, los datos me devuelven correctamente, hasta ahí todo está excelente, pero tengo un array en JavaScript que me efectua una suma según los datos elegidos (funciona como SUMAR.SI en excel) y de igual manera este array me llena los campos de select con las opciones disponibles, yo la llamo suma condicional, esta funciona cuando los campos están vacios, pero si ejecuto la consulta, como los campos se llenan con un array javascript, se vacían para poder ejecutar la suma y no me respeta los datos de la base que estoy devolviendo con la counsulta. Mi pregunta es ¿Existe alguna forma de que sume de manera condicional los valores devueltos en la consulta?
  #2 (permalink)  
Antiguo 24/02/2015, 10:49
 
Fecha de Ingreso: octubre-2014
Mensajes: 63
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Suma javascript

Aquí el código:
PHP
Código PHP:
Ver original
  1. <?php
  2. require "conexion.php";
  3. mysql_select_db("nfc", $my_connect);
  4. $query_tb = "SELECT concepto, pagadora, banco, monto, iva, subtotal FROM tesoreria WHERE ide = '{$_POST['identifier']}' AND suma = '4' AND NOT seccion ='CANCELADO'  LIMIT 1";
  5. $recupero = mysql_query($query_tb, $my_connect);
  6. $rec_concepto = "";
  7. $rec_pagadora = "";
  8. $rec_banco = "";
  9. $rec_monto = "";
  10. $rec_iva = "";
  11. $rec_subtotal = "";
  12. $row_tb = mysql_fetch_array($recupero);
  13. $rec_concepto = ($row_tb['concepto'] . "");
  14. $rec_pagadora = ($row_tb['pagadora'] . "");
  15. $rec_banco = ($row_tb['banco'] . "");
  16. $rec_monto = ($row_tb['monto'] . "");
  17. $rec_iva = ($row_tb['iva'] . "");
  18. $rec_subtotal = ($row_tb['subtotal'] . "");
  19. ?>
HTML
Código HTML:
Ver original
  1. <tr>
  2. <td>
  3. <select name="depo_1" id="depo_1">
  4. <option value="" selected></option>
  5. <option value="<?php error_reporting(0); echo "$rec_concepto"; ?>" selected><?php error_reporting(0); echo "$rec_concepto"; ?></option>
  6. <option value="Deposito">Deposito</option>
  7. <option value="Devolucion ISR">Devolucion ISR</option>
  8. <option value="Saldo a favor">Saldo a favor</option>
  9. <option value="Pago de Financiamientos">P. Financiamientos</option>
  10. <option value="Financiamiento">Financiamiento</option>
  11. <option value="Devolucion Infonavit">Devolucion Infonavit</option>
  12. <option value="Devolucion IVA">Devolucion IVA</option>
  13. </td>
  14. <td><select name="banco_txt" id="banco_txt" style="width:105;">
  15. <option value="" selected></option>
  16. <option value="<?php error_reporting(0); echo "$rec_pagadora"; ?>" selected><?php error_reporting(0); echo "$rec_pagadora"; ?></option>
  17. <option value="Afirme">Afirme</option>
  18. <option value="Bajio">Bajio</option>
  19. <option value="Banamex">Banamex</option>
  20. <option value="Banco Azteca">Banco Azteca</option>
  21. <option value="Banco Famsa">Banco Famsa</option>
  22. <option value="Banco Walmart">Banco Walmart</option>
  23. <option value="Banorte">Banorte</option>
  24. <option value="Banregio">Banregio</option>
  25. <option value="BBVA Bancomer">BBVA Bancomer</option>
  26. <option value="Coppel">Coppel</option>
  27. <option value="HSBC">HSBC</option>
  28. <option value="Inbursa">Inbursa</option>
  29. <option value="IXE">IXE</option>
  30. <option value="Mifel">Mifel</option>
  31. <option value="Santander">Santander</option>
  32. <option value="Scotiabank">Scotiabank</option>
  33. </select></td>
  34. <td><span id="sprytextfield1">
  35. <input type="text" name="mont_fond" id="mont_fond" placeholder="$" size="10"   onBlur="if (this.value == '') {
  36. this.value = 0; } javascript:generartotaldepo();" value="<?php error_reporting(0); echo "$rec_banco"; ?>" onKeyup="javascript:generartotaldepo();">
  37. <span class="textfieldInvalidFormatMsg">Ingrese una cantidad.</span></span></td>
  38. <td><select name="paga_depo" id="pagadora[]" style="width:205;">
  39. <option value="" selected></option>
  40. <option value="<?php error_reporting(0); echo "$rec_monto"; ?>" selected><?php error_reporting(0); echo "$rec_monto"; ?></option>
  41. <option value="ADMINISTRACION DE CUENTAS CENTRO OPERATIVO PALMAS SC"  style="width:350px;">ADMINISTRACION DE CUENTAS CENTRO OPERATIVO PALMAS SC</option>
  42. <option value="APORTES A LOS TRABAJADORES INTELECTUALES SA DE CV">APORTES A LOS TRABAJADORES INTELECTUALES SA DE CV</option>
  43. <option value="APOYO INTEGRAL PARA LA FUERZA INTELECTUAL, S.A. DE C.V.">APOYO INTEGRAL PARA LA FUERZA INTELECTUAL, S.A. DE C.V.</option>
  44. <option value="APOYO PARA LOS CONTRATIEMPOS DE LOS TRABAJADORES SC">APOYO PARA LOS CONTRATIEMPOS DE LOS TRABAJADORES SC</option>
  45. <option value="ASESORIA Y VANGUARDIA EN DISENIO MCBE DEL NORTE SA DE CV">ASESORIA Y VANGUARDIA EN DISENIO MCBE DEL NORTE SA DE CV</option>
  46. <option value="ASISTENCIA EN ALTA ESPECIALIDAD Y EXITO EN DISENIO DE OBJETIVOS STYLE SA DE CV">ASISTENCIA EN ALTA ESPECIALIDAD Y EXITO EN DISENIO DE OBJETIVOS STYLE SA DE CV</option>
  47. <option value="BIENES RAICES METROPOLITANA SA">BIENES RAICES METROPOLITANA SA</option>
  48. <option value="CONTROL PARA LAS EROGACIONES CENTRO OPERATIVO PALMAS SC">CONTROL PARA LAS EROGACIONES CENTRO OPERATIVO PALMAS SC</option>
  49. <option value="CONTROL Y ESTRATEGIAS RUMBO A LA EXCELENCIA PROFESIONAL SHIPS SA DE CV">CONTROL Y ESTRATEGIAS RUMBO A LA EXCELENCIA PROFESIONAL SHIPS SA DE CV</option>
  50. <option value="CORPORATIVO DE ASESORES DE PERSONAL Y CAPACITACION DEL CENTRO SA DE CV">CORPORATIVO DE ASESORES DE PERSONAL Y CAPACITACION DEL CENTRO SA DE CV</option>
  51. <option value="DESEMPENIO PROFESIONAL ENFOCADO AL EXITO POR OBJETIVOS SC">DESEMPENIO PROFESIONAL ENFOCADO AL EXITO POR OBJETIVOS SC</option>
  52. <option value="DIRECCION EMPRESARIAL Y TALENTO COLECTIVO SA DE CV">DIRECCION EMPRESARIAL Y TALENTO COLECTIVO SA DE CV</option>
  53. <option value="ENLACE Y GESTION RH SA DE CV">ENLACE Y GESTION RH SA DE CV</option>
  54. <option value="ESTRATEGIAS EN APOYO A LA PLANEACION LAMBDA SA DE CV">ESTRATEGIAS EN APOYO A LA PLANEACION LAMBDA SA DE CV</option>
  55. <option value="EXPANSION DINAMICA DE PROYECTOS SA DE CV">EXPANSION DINAMICA DE PROYECTOS SA DE CV</option>
  56. <option value="FEDERACION DEMOCRATICA DE AGRUPACIONES SINDICALES Y CAMPESINAS FDASC">FEDERACION DEMOCRATICA DE AGRUPACIONES SINDICALES Y CAMPESINAS FDASC</option>
  57. <option value="GIN Y PROYECTOS DE RECURSOS HUMANOS SA DE CV">GIN Y PROYECTOS DE RECURSOS HUMANOS SA DE CV</option>
  58. <option value="GRUPO DE NEGOCIOS VERSATILES INTERACTIVOS SA DE CV">GRUPO DE NEGOCIOS VERSATILES INTERACTIVOS SA DE CV</option>
  59. <option value="JESFER PUBLICITY SA DE CV">JESFER PUBLICITY SA DE CV</option>
  60. <option value="PRODUCTIVIDAD Y EFECTIVIDAD EN SOLUCIONES GERENCIALES SA DE CV">PRODUCTIVIDAD Y EFECTIVIDAD EN SOLUCIONES GERENCIALES SA DE CV</option>
  61. <option value="PROFESIONALES BAJIO S DE RL DE CV">PROFESIONALES BAJIO S DE RL DE CV</option>
  62. <option value="RENOVANDO LOS PROCESOS DE SELECCION DE CAPITAL HUMANO SA DE CV">RENOVANDO LOS PROCESOS DE SELECCION DE CAPITAL HUMANO SA DE CV</option>
  63. <option value="SANBEY MEXICANA SA DE CV">SANBEY MEXICANA SA DE CV</option>
  64. <option value="SINDICATO DE TRABAJADORES DEL COMERCIO EN GENERAL">SINDICATO DE TRABAJADORES DEL COMERCIO EN GENERAL</option>
  65. <option value="SOLUCION ADMINISTRATIVA EN RECURSOS HUMANOS HC S SA DE CV">SOLUCION ADMINISTRATIVA EN RECURSOS HUMANOS HC S SA DE CV</option>
  66. <option value="SUMINISTROS DE SOLUCIONES Y PROMOTORES EMPRESARIALES SA DE CV">SUMINISTROS DE SOLUCIONES Y PROMOTORES EMPRESARIALES SA DE CV</option>
  67. <option value="(TOLUCA) CORPORATIVO DE ASESORES DE PERSONAL Y CAPACITACION DEL CENTRO S.A. DE C.V">(TOLUCA) CORPORATIVO DE ASESORES DE PERSONAL Y CAPACITACION DEL CENTRO S.A. DE C.V</option>
  68.  <input type="date" name="fechadep" id="fechadep" size="12" value="<?php error_reporting(0); echo "$rec_iva"; ?>">
  69. </td>
  70. <td><input type="text" name="folio_1" id="fond[]" value="<?php error_reporting(0); echo "$rec_subtotal"; ?>"></td>
  71. </tr>
JavaScript
Código Javascript:
Ver original
  1. var pags = {"~":0, "ADMINISTRACION DE CUENTAS CENTRO OPERATIVO PALMAS SC": 0, "APORTES A LOS TRABAJADORES INTELECTUALES SA DE CV": 0,
  2. "APOYO INTEGRAL PARA LA FUERZA INTELECTUAL, S.A. DE C.V.": 0, "APOYO PARA LOS CONTRATIEMPOS DE LOS TRABAJADORES SC": 0, "ASESORIA Y VANGUARDIA EN DISENIO MCBE DEL NORTE SA DE CV": 0,
  3. "ASISTENCIA EN ALTA ESPECIALIDAD Y EXITO EN DISENIO DE OBJETIVOS STYLE SA DE CV": 0, "BIENES RAICES METROPOLITANA SA": 0, "CONTROL PARA LAS EROGACIONES CENTRO OPERATIVO PALMAS SC": 0,
  4. "CONTROL Y ESTRATEGIAS RUMBO A LA EXCELENCIA PROFESIONAL SHIPS SA DE CV": 0, "CORPORATIVO DE ASESORES DE PERSONAL Y CAPACITACION DEL CENTRO SA DE CV": 0, "DESEMPENIO PROFESIONAL ENFOCADO AL EXITO POR OBJETIVOS SC": 0,
  5. "DIRECCION EMPRESARIAL Y TALENTO COLECTIVO SA DE CV": 0, "ENLACE Y GESTION RH SA DE CV": 0, "ESTRATEGIAS EN APOYO A LA PLANEACION LAMBDA SA DE CV": 0,
  6. "EXPANSION DINAMICA DE PROYECTOS SA DE CV": 0, "FEDERACION DEMOCRATICA DE AGRUPACIONES SINDICALES Y CAMPESINAS FDASC": 0, "GIN Y PROYECTOS DE RECURSOS HUMANOS SA DE CV": 0,
  7. "GRUPO DE NEGOCIOS VERSATILES INTERACTIVOS SA DE CV": 0, "JESFER PUBLICITY SA DE CV": 0, "PRODUCTIVIDAD Y EFECTIVIDAD EN SOLUCIONES GERENCIALES SA DE CV": 0,
  8. "PROFESIONALES BAJIO S DE RL DE CV": 0, "RENOVANDO LOS PROCESOS DE SELECCION DE CAPITAL HUMANO SA DE CV": 0, "SANBEY MEXICANA SA DE CV": 0,
  9. "SINDICATO DE TRABAJADORES DEL COMERCIO EN GENERAL": 0, "SOLUCION ADMINISTRATIVA EN RECURSOS HUMANOS HC S SA DE CV": 0, "SUMINISTROS DE SOLUCIONES Y PROMOTORES EMPRESARIALES SA DE CV": 0, "(TOLUCA) CORPORATIVO DE ASESORES DE PERSONAL Y CAPACITACION DEL CENTRO S.A. DE C.V": 0};
  10. var form = document.forms.formgral;
  11. var pag_fond = form["pagadora[]"];
  12. var deposit_fields = form["fond[]"];
  13. var pag_auto = form["rest_pag[]"];
  14. var resta = form["auto[]"];
  15. //muestra resultado
  16. var result2 = function() {
  17. var html_result = [];
  18. for (var j in pags)
  19. html_result.push(j == '~' ? '' : pags[j] + '  -  ' + j);
  20. document.getElementById("result2").innerHTML = "<div class='pag_style'>Totales Por Pagadora:<br />" + html_result.join("<br />&nbsp &nbsp &nbsp")+"<div>";
  21. }
  22. //actualizar cantidad de cada banco, sumar los valores de cada campo
  23. var update2 = function() {
  24. for (var j in pags) {
  25. var x = 0, field;
  26. var y = 0, camp;
  27. pags[j] = 0;
  28. while (field = deposit_fields[x])
  29. if (pag_fond[x++].value == j)
  30. pags[j] += +field.value;
  31. while (camp = resta[y])
  32. if (pag_auto[y++].value == j)
  33. pags[j] += -camp.value;
  34. pags[j] = parseFloat(pags[j]).toFixed(3);
  35. }
  36. result2()
  37. };
  38. for (var i = 0; i < deposit_fields.length; i++) {
  39. var optionsHTML = '';
  40. for (var j in pags)
  41. optionsHTML += '<option value="' + j + '">' + j + '</option>';
  42. pag_fond[i].innerHTML = optionsHTML
  43. }
  44. for (var i = 0; i < resta.length; i++) {
  45. var sel = '';
  46. for (var j in pags)
  47. sel += '<option value="' + j + '">' + j + '</option>';
  48. pag_auto[i].innerHTML = sel
  49. }
  50. update2()

Última edición por petezajot; 24/02/2015 a las 10:59
  #3 (permalink)  
Antiguo 25/02/2015, 16:27
 
Fecha de Ingreso: octubre-2014
Mensajes: 63
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Suma javascript

Nadie??

Etiquetas: formulario, funcion, html, input, php, select, suma, 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 10:14.