Hola a todos
Llevo un rato con una funcion bastante sencilla pero con la que me he trabado y no consigo ver el error...
Se trata de calcular un importe en base a un precio, un porcentaje y una superficie:
Código:
function escribir() {
var superficie_m=eval ('document.calculador.superficie.value');
var cantidad=eval ('document.calculador.cantidad.value');
var porcentaje_m=eval ('document.calculador.porcentaje.value');
var precio=document.calculador.espesor.options[document.calculador.espesor.selectedIndex].value;
var importe_porcentaje=(precio*porcentaje_m)/100;
var tarifa=precio+importe_porcentaje;
var cantidad2=(superficie_m*tarifa*cantidad);
var decimales=2;
var cantidad3 = parseFloat(cantidad2);
var decimales = parseFloat(decimales);
decimales = (!decimales ? 0 : decimales); // 2 decimales por defecto.
var precio_final=Math.round(cantidad3 * Math.pow(10, decimales)) / Math.pow(10, decimales);
var resultado3=document.getElementById('precio').innerHTML = 'Precio: '+precio_final+' €';
return resultado3;
}
El html del formulario es este:
Código:
<form action="calculador_tarifas.php" method="post" name="calculador">
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="156" bgcolor="#e2007a"> </td>
<td width="494" bgcolor="#e2007a"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td align="right">Cantidad: </td>
<td> <input type="text" name="cantidad" size="6" onKeyUp="escribir()"></td>
</tr>
<tr>
<td align="right">Porcentaje sobre tarifa: </td>
<td> <input type="text" name="porcentaje" size="6" onKeyUp="escribir()"> %</td>
</tr>
<tr>
<td colspan="2" align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
Espesor <select name="espesor" onChange="escribir()">
<option value='22.29'>2.0</option>
<option value='10.90'>2.1</option>
<option value='10.86'>2.2</option>
</select>
</td>
<td> Superficie m<sup>2</sup> <input type="text" name="superficie" size="8" onKeyUp="escribir()"></td>
<td> </td>
</tr>
</table> </td>
</tr>
<tr>
<td colspan="2" align="right"><div id="precio" style="font-size:24px; font-weight:bold"></div></td>
</tr>
</table>
</form>
Me devuelve valor
NaN
Alguna sugerencia??