Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2006, 09:04
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años, 3 meses
Puntos: 154
¿Cómo mostrar el valor resultante en un text?

Hola a to@s!!

Tengo una especie de calculadora, y necesito que el tercer valor se introduzca automáticamente con el resultado de los 2 primeros y salga el total en un 4º, mejor pongo el código y después explico el detalle:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<
script type="text/javascript">
Number.prototype.decimal = function(n) {
pot Math.pow(10Math.round(n));
return 
parseInt(this pot) / pot;
}
</script>



<title>Calculadora</title>
</head>

<body onmouseout="window.status=' '" onmouseover="window.status=' ';return true">

<script language="JavaScript">
function calcula() {
var frm = document.calc;
var val1 = frm.val1.value;
var val2 = frm.val2.value;
var val3 =  val2*val2;
if ((frm.val1.value>0 && frm.val1.value<99999) && (frm.val2.value>0 && frm.val2.value<99999)) {
var res = (val1*12.00)+(val2*5.30)+(val3*2.10);
frm.res.value = res.decimal(2);
} else {
frm.res.value = 0;
alert ("Debes indicar valores númericos en los campos indicados.");
}
}
</script>


<center>
<div align="center">
<table width="300" border="0" cellspacing="0" cellpadding="10">
<form name="calc">
<tr>
<td valign=top class="centro grande">Calculadora</td>
</tr>
<tr>
<td>
Valor 1 <input type="text" name="val1" size="3" maxlenght="6">
</td>
</tr>
<tr>
<td>
Valor 2 <input type="text" name="val2" size="3" maxlenght="6" onchange="document.calc.value=val3;">
</td>
</tr>
<tr>
<td>
Resultado 1 <input type="text" name="val3" size="3" maxlenght="6" value="" readonly> <!-- Aquí debe verse el valor que se asigna en el campo anterior -->
</td>
</tr>
<tr>
<td align="center">
<input type="button" class="button" value="Calcular" onClick="calcula();">
</td>
</tr>
<tr>
<td>
Total <input type="text" name="res" size="11" maxlength="10"> <!-- Aquí se ve el valor total de la operación -->

</td>
</tr>
</form>
</table>

</div>



</td>
</tr>
</table>

</center>

</body>
</html> 
El problema es que asigna el valor y lo toma en cuenta al hacer la operación, pero no lo muestra en el campo y necesito que se muestre

Por otra parte, con el script me deja 2 decimales, pero no me redondea correctamente, es decir, si la cifra siguiente es >=5 el 2º decimal debería aumentar 1 y si no lo es debería quedarse igual, pero tampoco lo hace....


Gracias por adelantado, como siempre, seguro que los maestros de por aquí conocen la solución...