Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2015, 07:43
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Pregunta Realizar Multiplicación en Inputs Dinamicos

Buen dia, tarde o noche, les escribo porque agote mis mas básicos conocimientos en JS con respecto a esto, es decir, necesito multiplicar 2 input que se crean de manera dinamica en una factura, serial aglgo asi:

precio unitario * cantidad = total

y asi con cada linea

este es el codigo del formulario donde se crean las lineas:

Código HTML:
Ver original
  1. <form name="recarga" action="recarga_pago.php" method="POST" enctype="multipart/form-data"><table id="tablatracking" width="100%">
  2.         <tbody>
  3.          <tr>
  4.                 <td align="left"><input onclick="agregarUsuario()" type="button" value="Agregar Recargo" id="boton_agregar" class="btn btn-success"></td>
  5.           </tr>
  6.             <tr>
  7.               <td width="100" id="titulo">Cédula</td>
  8.               <td width="50">Articulo</td>
  9.                 <td width="33">Punitario</td>
  10.                 <td width="33">Cantidad</td>
  11.                 <td width="33">Total</td>
  12.             </tr>
  13.         </tbody>
  14.     </table>
  15.     <input type="submit" value="Registrar" name="boton" id="boton_enviar" class="btn btn-warning" />
  16.   </form>

y este es el codigo que genera las lineas dinamicamente:

Código Javascript:
Ver original
  1. // <![CDATA[
  2.  
  3. var posicionCampo = 1;
  4.  
  5.  
  6. function agregarUsuario() {
  7.  
  8.     nuevaFila = document.getElementById("tablatracking").insertRow(-1);
  9.  
  10.     nuevaFila.id = posicionCampo;
  11.  
  12.     nuevaCelda = nuevaFila.insertCell(-1);
  13.  
  14.     nuevaCelda.innerHTML = "<td><input type='text' size='15' name='cedula[" + posicionCampo + "]' value='' placeholder=' Cedula...' required readonly id='texto[" + posicionCampo + "]' /></td>";
  15.    
  16.     nuevaCelda = nuevaFila.insertCell(-1);
  17.  
  18.     nuevaCelda.innerHTML = "<td><input type='text' size='70' name='articulo[" + posicionCampo + "]' value='' placeholder=' Articulo' required></td>";
  19.  
  20.     nuevaCelda = nuevaFila.insertCell(-1);
  21.    
  22.     nuevaCelda.innerHTML = "<td><input type='text' size='10' name='p_unitario[" + posicionCampo + "]' id='p_unitario[" + posicionCampo + "]' value='0' placeholder=' Bs.' required'/></td>";
  23.    
  24.     nuevaCelda = nuevaFila.insertCell(-1);
  25.    
  26.     nuevaCelda.innerHTML = "<td><input type='text' size='5' name='cantidad[" + posicionCampo + "]' value='0' onChange='javascript:calcula()' id='cantidad[" + posicionCampo + "]'/></td>";
  27.    
  28.     nuevaCelda = nuevaFila.insertCell(-1);
  29.    
  30.     nuevaCelda.innerHTML = "<td><input type='text' size='15' name='total[" + posicionCampo + "]' value='' placeholder='' required id='total[" + posicionCampo + "]'/></td>";
  31.  
  32.     nuevaCelda = nuevaFila.insertCell(-1);
  33.  
  34.     nuevaCelda.innerHTML = "<td><input type='button' id='eliminar' value='-' onclick='eliminarUsuario(this)' class='btn btn-danger'></td>";
  35.    
  36.     var copiar = document.getElementById("texto1");
  37.     var pegar = document.getElementById("texto[" + posicionCampo + "]");
  38.     pegar.value = copiar.value;
  39.    
  40.    
  41. /*ESTA ES LA FUNCION QUE INTENTE PERO NO FUNCIONO*/
  42.     function calcula(){
  43.     var monto = document.getElementById("p_unitario[" + posicionCampo + "]");
  44.     var canti = document.getElementById("cantidad[" + posicionCampo + "]");
  45.     var calculo = monto * canti;
  46.    
  47.     document.getElementById("total[" + posicionCampo + "]").value = calculo;
  48.     }
  49.  
  50.     posicionCampo++;
  51.  
  52. }
  53.  
  54.  
  55. function eliminarUsuario(obj) {
  56.  
  57.     var oTr = obj;
  58.  
  59.     while(oTr.nodeName.toLowerCase() != 'tr') {
  60.  
  61.         oTr=oTr.parentNode;
  62.  
  63.     }
  64.  
  65.     var root = oTr.parentNode;
  66.  
  67.     root.removeChild(oTr);
  68.  
  69. }

como ven esta comentada la función que intente realizar para la tarea pero no anda, cabe destacar que si esa misma función la utilizo con ciertas modificaciones para copiar el contenido de un input externo al form a otro dinamico denbtro del form, si funciona, si me pueden colaborar se los agradeceria bastante.

Gracias de antemano.
__________________
[email protected]
HITCEL