Bien, sólo comentarte que utilizando el evento onchange sería tan sencillo como ésto:
Código PHP:
<html>
<head>
<script>
function actualizaPrecios() {
// Obtenemos los datos
var f = document.calc;
var cajasTinto = parseInt(f.operando1.value, 10);
var cajasBlanco = parseInt(f.operando2.value, 10);
var precioPorCaja = parseInt(f.operando3.value, 10);
// Calculamos los precios (parciales y finales)
var precioTinto = cajasTinto * precioPorCaja;
var precioBlanco = cajasBlanco * precioPorCaja;
var precioTotal = precioTinto + precioBlanco;
// Colocamos los datos en su sitio
f.resultado1.value = precioTinto+" €";
f.resultado2.value = precioBlanco+" €";
f.resultado3.value = precioTotal+" €";
}
</script>
</head>
<body>
<br>
<form name="calc">
Numero Cajas V.Tinto:
<input type="Text" name="operando1" value="0" size="12" onchange="actualizaPrecios()">
<input type="Text" disabled="disabled" name="resultado1" value="0 €" size="12">
<br>
Numero Cajas V.Blanco:
<input type="Text" name="operando2" value="0" size="12" onchange="actualizaPrecios()">
<input type="Text" disabled="disabled" name="resultado2" value="0 €" size="12">
<br>
Precio por caja: <input type="text" disabled="disabled" name="operando3" value="36 €" size="12">
<br>
Precio total: <input type="Text" name="resultado3" disabled="disabled" value="0 €" size="12">
<br>
</form>
</body>
</html>
Y quizás te interese más utilizar
onkeydown para las cajas, para que se cambie de verdad dinámicamente y no haya que salir del campo (blur) para actualizar.
¡No olvides comprobar que los campos sean números!
Un saludo.