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:
El html del formulario es este: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; }
Código:
Me devuelve valor NaN<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>
Alguna sugerencia??