Foros del Web » Programando para Internet » Javascript »

URGENTE: error al hacer una multiplicación en un ciclo for

Estas en el tema de URGENTE: error al hacer una multiplicación en un ciclo for en el foro de Javascript en Foros del Web. buenas tengo un problema con el siguiente codigo. la funcion multiplica solo se ejecuta para la primera fila, pero a medida que ingreso nuevas filas ...
  #1 (permalink)  
Antiguo 19/02/2010, 21:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación URGENTE: error al hacer una multiplicación en un ciclo for

buenas
tengo un problema con el siguiente codigo. la funcion multiplica solo se ejecuta para la primera fila, pero a medida que ingreso nuevas filas no se ejecuta los mismo me sucede con el combo box que esta en la columna de tipo de gasto

necesito que me ayuden con esto ya que me urge




<p>TABLA DE GASTOS </p>

<form id="form" name="form" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" onsubmit="asigna()">


<table width="397" border="1" cellspacing="1" bordercolor="#000000" id="tabla" align="center">
<tr colspan="13" align="left">
<td align="center"><font color="#000000" size="3"><b>AGREGAR O ELIMINAR</b></font></td>
<td align="center"><font color="#000000" size="3"><b>CODIGO MINA</b></font></td>
<td bgcolor="#FFFFFF">
<?php
echo"<select name=mina id=nombre_dado>";

$sql="SELECT Codigo_mina FROM minas";
$result=mysql_query($sql);
$i=0;
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
echo "</select>";
?>

</td>
</tr>
<tr align="center">
<td valign="top"><input type="button" name="b1" value="[+]" onClick="addRowX()">
<input type="button" name="b2" value="[-]" onClick="borrar()"></td>
<td><p><font color="#000000" size="1">FECHA</font></p>
<p><font color="#000000" size="1">(AAAA-MM-DD)</font></p></td>
<td><font color="#000000" size="1">DETALLE</font></td>
<td><font color="#000000" size="1">CANTIDAD</font></td>
<td><font color="#000000" size="1">VR UNITARIO</font></td>
<td><font color="#000000" size="1">IVA</font></td>
<td><font color="#000000" size="1">TOTAL</font></td>
<td><font color="#000000" size="1">TIPO DE GASTO</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"></td>
<td bgcolor="#FFFFFF"><input type="text" size="10"name="fecha_1"/></td>
<td bgcolor="#FFFFFF"><input type="text" size="25" name="deta_1" /></td>
<td bgcolor="#FFFFFF"><input type="text" size="4" name="cant_1" value="" /></td>
<td bgcolor="#FFFFFF"><input type="text" size="7" name="vunit_1" value="" onBlur="multiplica(this.form)"></td>
<td bgcolor="#FFFFFF"><input type="text" size="6" name="iva_1"/></td>
<td bgcolor="#FFFFFF"><input type="text" size="7" name="total_1" /></td>
<td bgcolor="#FFFFFF">

<?php
echo"<select name=tipg_1 id=nombre_dado>";

$sql="SELECT Tgasto FROM tipos_de_gastos";
$result=mysql_query($sql);
$i=0;
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
echo "</select>";
?>

</td>
<input type="hidden" name="var_cont" value="evento1">
</tr>
</table>

<p><br>
</p>
<table border="0" id="tabla_f2" bordercolor="#6B238E" align="center">
<tr>
<td><input type="submit" name="ok" id="ok" value="GUARDAR" /></td>
</tr>
</table>

</body>
</html>

<script language='JavaScript'>
//////////////multiplicar() ///////////
function multiplica(form){

var resultado;
var x=0;
var y=0;
x = parseInt (form.cant_1.value);
y = parseInt (form.vunit_1.value);

resultado = x * y;

form.total_1.value=resultado;
}



//////////////agregar fila() ///////////

var cont=1;
function addRowX() //Esta la funcion que agrega las filas :
{

cont++;
var indiceFila=1;
myNewRow = document.getElementById('tabla').insertRow(-1);
myNewRow.id=indiceFila;
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<td></td>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<td><input type="text" size="10" name="fecha_'+cont+'" /></td>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<input type="text" size="25" name="deta_'+cont+'"/>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<input type="text" size="4" value="" name="cant_'+cont+'"/>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<input type="text" size="7" value="" onBlur="multiplica(this.form)" name="vunit_'+cont+'"/>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<input type="text" size="6" name="iva_'+cont+'"/>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<input type="text" size="7" value="" name="total_'+cont+'"/>';
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML='<input type="text" size="20" name="tipg_'+cont+'"/>';


indiceFila++;

}
//////////////Borrar() ///////////
function borrar() {
var table = document.getElementById('tabla');
if(table.rows.length > 3)
{
table.deleteRow(table.rows.length -1);
cont--;
}
}

////////////FUNCION ASIGNA VALOR DE CONT PARA EL FOR DE MOSTRAR DATOS MP-MOD-TT////////
function asigna()
{
valor=document.form.var_cont.value=cont;
}
</script>

Etiquetas: ciclos
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 08:59.