No suelo hacer esto, pero como dices que andas muy pez te hice el formulario y los scripts, para dejarlo a tu gusto, ya que no he hecho florituras para dejarlo guapo, tendrás que mirar un poco de html, sobre todo formularios, y algo de css para dejarlo bonito.
Si sale código rar que se repite en cada línea es que esta página no hace muy bien el pegado cuando hay tabulaciones, pero como siempre repite el mismo código, lo eliminas de todas las líneas en las que te aparezca y punto. Me parece que inserta algo como <span los que sea></span>
Los precios están en una de las funciones de javascript, no creo que el cliente tenga la opción de elegirlo el mismo, así que le puse 5, 10 y 15$ respectivamente (normal, light, extra), los cambias y listo.
No hay verificaciones, si no mete unidades el resultado muestra 0.
Añadí, porque seguro que te vienen bien, algunas funciones para tratar números, podía haberlo hecho en la misma función todo pero así puedes reutilizar las funciones de javascript para otras cosas.
Un saludo, Kike
www.internete.net<body>
<script type="text/javascript">
function numeroDecimales(numero,decimales,moneda)//mpasa un número a decimales puntuando los millares y poniendo la moneda elegida por defecto dos decimales sin mostrar moneda
{
moneda = moneda || '';
decimales=decimales || 2;
num=numero.toFixed(decimales);
var splitStr = num.split('.');
var splitLeft = splitStr[0];
var splitRight = splitStr.length > 1 ? ',' + splitStr[1] : '';
var regx = /(\d+)(\d{3})/;
while (regx.test(splitLeft)) {
splitLeft = splitLeft.replace(regx, '$1' + '.' + '$2');
}
return splitLeft + splitRight + moneda;
}
function valor_id(id) //Obtiene el valor de un id dado
{
return document.getElementById(id).value;
}
function productoDosNumeros(num1,num2,_decimales) //Multiplica el valor de dos valores, lo convierte a número con x decimales, por defecto 2
{
_decimales=_decimales || 2;
valor1=parseFloat(num1);
valor2=parseFloat(num2);
producto=valor1*valor2;
return producto.toFixed(_decimales);
}
function mostrarNumeroEnId(valor,idDestino,_decimales,_moneda) //Muestra u número en un id concreto
{
_moneda=_moneda || "";
_decimales=_decimales || 2;
valor_origen=parseFloat(valor);
Numero=numeroDecimales(valor_origen,_decimales,_moneda);
document.getElementById(idDestino).value=Numero;
}
function mostrar_resultado()
{
valor_nuez=valor_id('nuez');
switch (valor_nuez)
{
case "normal": valor_precio=5; break;
case "light": valor_precio=10; break;
case "extralight": valor_precio=15;
}
valor_unidades=valor_id('medida');
producto=productoDosNumeros(valor_precio,valor_unidades,2);
numero_unidades=valor_id("unidades");
producto=productoDosNumeros(producto,numero_unidades,2);
if (producto=="NaN")
resultado="0"
else
resultado=producto;
mostrarNumeroEnId(resultado,"resultado",2,'$');
}
</script>
<form action="" method="post">
Tipo de nuez <select name="nuez" id="nuez">
<option value="normal">Normal</option>
<option value="light">Light</option>
<option value="extralight">ExtraLight</option>
</select>
<br />
Unidades en <select name="medida" id="medida">
<option value="1">Kilogramos</option>
<option value="1000">Toneladas</option>
</select>
O en con botones->> Kilos <input type="radio" name="kilo_tonelada" value="1" checked="checked" />
Toneladas <input type="radio" name="kilo_tonelada" value="1000" />
<br />
Unidades<input type="text" name="unidades" id="unidades" />
<input type="text" size="20" id="resultado" disabled="disabled" />
<input type="button" name="calcular" value="Resultado" onclick="mostrar_resultado();" />
</form>
</body>
Wooow gracias kike por el esfuerzo y dedicación para este ejemplo, se aprecia mucho ^w^ - Chucho Kun