image
Inicio » Foros » JavaScript

JavaScript

sumar y restar valores de input text

Volver al foro | Responder | Añadir nuevo tema


De: kim
Fecha: 07/01/2012
Mensaje:

Estoy haciendo una nómina de empleados con datos de la bd, logré calcular el sueldo quincenal y el total de deducciones con javascript pero no me funciona el total devengado. Este es mi código javascript:

function calcula(dias, sueldo_diario, indice) {
document.getElementById('sueldo_quinc' + indice).value = dias * sueldo_diario;
}

function deducciones(otros_desc, ivss, paro_for, lph, indice2) {
document.getElementById('total_deducc' + indice2).value = parseFloat(otros_desc) + parseFloat(ivss) + parseFloat(paro_for) + parseFloat(lph);
}

function total_dev(otros_ing, sueldo_quinc, total_deducc, indice3) {
document.getElementById('total_deveng' + indice3).value = (parseFloat(otros_ing) + parseFloat(sueldo_quinc)) - parseFloat(total_deducc);
}

y este es mi formulario:

<form action="nomina_reg.php" method="post" >
<table width="750" border="0" class="tabla2">
<tr>
<td colspan="5" class="td2" bgcolor="#95bce2">UNIDAD EDUCATIVA</td>
</tr>
<tr>
<td colspan="5">NOMINA PARA EL PAGO DE SUELDOS EMPLEADOS</td>
</tr>
<tr>
<td width="7%">Desde:</td>
<td width="15%">&nbsp;</td>
<td width="7%">Hasta:</td>
<td width="16%">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<br />
<table width="750" border="1" bordercolor="#95bce2" class="tabla3">
<tr bgcolor="#95bce2 ">
<td width="3%" class="td3">Nº</td>
<td width="3%" class="td3">CI</td>
<td width="10%" class="td3">APELLIDOS</td>
<td width="11%" class="td3">NOMBRES</td>
<td width="4%" class="td3">DIAS</td>
<td width="8%" class="td3">SUELDO BÁSICO</td>
<td width="8%" class="td3">SUELDO DIARIO</td>
<td width="8%" class="td3">SUELDO B. QUINCENA</td>
<td width="8%" class="td3">IVSS</td>
<td width="8%" class="td3">PARO FORSOZO</td>
<td width="8%" class="td3">LPH</td>
<td width="8%" class="td3">OTROS INGRESOS</td>
<td width="8%" class="td3">OTROS DESCUENT</td>
<td width="8%" class="td3">TOTAL DEDUCCIONES</td>
<td width="8%" class="td3">TOTAL DEVENGADO</td>
</tr>

<?php
$indice = 1;
$indice2 = 1;
$indice3 = 1;
$rs = mysql_query("SELECT * FROM empleados ORDER BY id_empleado ASC");
while($result = mysql_fetch_array($rs)) {
$ivss = number_format(($result['sueldo_basico']*4/100),2,'.','');
$paro_for = number_format(($result['sueldo_basico']*0.5/100),2,'.','');
$lph = number_format(($result['sueldo_basico']*1/100),2,'.','');
$sueldo_diario = $result['sueldo_basico']/30;
?>
<tr>
<td><?php echo $result['id_empleado']; ?><input type="hidden" name="id_empleado[]" value="<?php echo $result['id_empleado']; ?>" /></td>
<td><?php echo $result['ci']; ?></td>
<td><?php echo "{$result['papellido']} {$result['sapellido']}"; ?></td>
<td><?php echo "{$result['pnombre']} {$result['snombre']}"; ?></td>
<td><input name="dias[]" type="text" id="dias<?php echo $indice; ?>" size="2" value="" onblur="calcula(this.value, '<?php echo $sueldo_diario; ?>', <?php echo $indice; ?>);" /></td>
<td><?php echo $result['sueldo_basico']; ?></td>
<td><?php echo $sueldo_diario; ?></td>
<td><input name="sueldo_quinc[]" type="text" id="sueldo_quinc<?php echo $indice; ?>" size="5" value="" readonly="readonly" /></td>
<td><?php echo $ivss; ?></td>
<td><?php echo $paro_for; ?></td>
<td><?php echo $lph; ?></td>
<td><input name="otros_ing[]" type="text" id="otros_ing<?php echo $indice3; ?>" size="5" value="" onblur="total_dev(this.value, '<?php echo $sueldo_quinc; ?>', '<?php echo $total_deducc; ?>', <?php echo $indice3; ?>);" /></td>
<td><input name="otros_desc[]" type="text" id="otros_desc<?php echo $indice2; ?>" size="5" value="" onblur="deducciones(this.value, '<?php echo $ivss; ?>', '<?php echo $paro_for; ?>', '<?php echo $lph; ?>', <?php echo $indice2; ?>);" /></td>
<td><input name="total_deducc[]" type="text" id="total_deducc<?php echo $indice2; ?>" size="5" value="" readonly="readonly" /></td>
<td><input name="total_deveng[]" type="text" id="total_deveng<?php echo $indice3; ?>" size="5" value="" readonly="readonly" /></td>
</tr>
<?php
$indice ++;
$indice2 ++;
$indice3 ++;
} // fin de while

Veo que el problema lo tiene sueldo_quinc y total_deducc. Ellos son el resultado de las funciones calcula y deducciones pero no se como tomarlas para que se sumen con otros_ing.

se almacenan asi:

document.getElementById('sueldo_quinc' + indice).value = dias * sueldo_diario;
document.getElementById('total_deducc' + indice2).value = parseFloat(otros_desc) + parseFloat(ivss) + parseFloat(paro_for) + parseFloat(lph);

como puedo sumarla y restarla en mi funcion total_dev???

Gracias




Volver al foro | Responder | Añadir nuevo tema

Quizás le interese:

WebEstilo.com no se hace responsable de las opiniones que los usuarios puedan verter en cualquiera de los foros existentes.

Si te solucionó el problema pulsa en G+1


Gracias!






Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.