Foros del Web » Programando para Internet » Javascript »

ayuda.. solo me multiplica primeros campos

Estas en el tema de ayuda.. solo me multiplica primeros campos en el foro de Javascript en Foros del Web. Hola amigos.. tengo un form que crea una tabla con una cantidad variable de filas (segun el resultado de mysql).. la tabla me entrega los ...
  #1 (permalink)  
Antiguo 26/09/2009, 15:59
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta ayuda.. solo me multiplica primeros campos

Hola amigos..

tengo un form que crea una tabla con una cantidad variable de filas (segun el resultado de mysql)..

la tabla me entrega los campos "Precios Unitarios" - "Cantidad Contratada - "Cantidad Ejecutada" y "Sub_t"

he logrado con un par de funciones, me sume el total de la columna "cantidad ejecutada", PEROO... quiero que tambien me calcule todos los vaores "Sub_t".... pero solo me multiplica SOLO la primera casilla... las siguientes no pasa nada .. ayudenme porfavor ...

esta es toda la pagina.php

Código PHP:
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<script type="text/javascript">

function sumar(){
  var a, total = 0;
  var elements = document.getElementsByName('horast[]');
  
   for(a=0; a<elements.length; a++){
          total += (parseFloat(elements[a].value));
   }
   
   document.getElementById("resultado").value = total * 1;
}

function multiplicar(){

cant_contratadas = document.getElementById("tiempo_cont[]").value;
m1 = document.getElementById("horast[]").value;
m2 = document.getElementById("valor_hono[]").value;
r = m2 * m1 / cant_contratadas;
document.getElementById("resultado_multip[]").value = r;
}
</script>

<form method="post" name="form">
  <table width="90%" border="0" cellspacing="5" class="texto_1">
    <!--DWLayoutTable-->
    <tr>
      <td width="28%" height="20" valign="top"><span class="titulo2">Cargos</span></td>
      <td>&nbsp;</td>
    </tr>
  </table>
  <table width="90%" border="1" class="texto_1" cellspacing="4" >
    <?php
$conexion
mysql_connect("localhost","icaro","icaro"
or die (
"no se pudo conectar con el servidorssssssss");
mysql_select_db("administracion",$conexion)or die ("problemas en la conexion a la base de datos");

$nom_tecnico=$_POST['contrato'];

$celda_cargos=mysql_query("select * from cargos where nom_contrato='$nom_tecnico' order by id",$conexion) or die ("cago".mysql_error());    

echo 
"<tr align='center'><td class='style14'>Precios<br>Unitarios</td><td class='style14'>Cantidad<br>Contratada</td><td class='style14'>Cantidad<br>Ejecutada</td><td class='style14'>Sub_t</td></tr>";
for (
$i 0$i mysql_num_rows($celda_cargos); ++$i)
{  
$columna mysql_fetch_row($celda_cargos); 
$pago=number_format($columna[9],0,",","."); 
  
echo 
"<tr><td align='center'>$ $columna[9]<input name='valor_hono[]' type='hidden' id='valor_hono[]' value='$columna[9]'/></td><td align='center'>$columna[6]<input name='tiempo_cont[]' type='hidden' id='tiempo_cont[]' value='$columna[6]'/></td><td align='center'><input name='horast[]' type='text' size='4' id='horast[]' onChange='multiplicar()' onkeyup='sumar()' value='0'/></td><td><input type='text' name='resultado_multip[]' id='resultado_multip[]' value='0' size='8' readonly='readonly'/></td></tr>";  


echo 
"<tr><td colspan='2' align='right'>Sub total</td><td><input type='text' readonly='readonly' value='0' id='resultado' size='8'/></td><td></td></tr>"
?>
    </table>
  </form> 

</body> 
</html>
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 07:34.