Hola Korina, Javascript es más que suficiente, mira este otro ejemplo:
Código :
<script language="javascript">
function calcula()
{
var resultado = parseFloat(document.getElementById("costo").value);
resultado = resultado * (parseFloat(document.getElementById("porcentaje").value) / 100);
document.getElementById("precio").value = resultado;
}
</script>
Yo prefiero usar getElementById, es más directo y fácil de utilizar que el objeto forms, además no me pierdo tanto, note que he declarado una variable donde primero almaceno lo que tiene la caja de texto costo, luego a esa variable le sumo el resultado + el porcentaje obtenido, la función parseFloat hará la conversión a decimal, y al final lo muestro en la caja de texto precio, ahora veamos el html
Código :
<form method="post" action="#">
<p>Costo <input type="text" id="costo" value="0" /></p>
<p>Porcentaje <input type="text" id="porcentaje" value="0" /></p>
<p>Precio <input type="text" id="precio" value="0" /></p>
<input type="button" onclick="javascript: calcula();" value="Calcular" />
</form>
Ahora, como vez, use # en lugar de especificar una página para evitar que el formulario se vaya a otro lugar y un objeto button en lugar de un submit. Espero que te sirva. Saludos!