Error en la multiplicacion de varias filas
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>
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>
1 respuesta
Respuesta de krlosnow
1