Cotizador online simple

Estoy haciendo un proyecto web y necesito hacer un formulario para cotizar nueces online muy sencillo para uds que saben del tema.
El formulario es para una empresa de nueces y debe tener los siguientes campos:
Campo1 (tipo de nuez) (normal - light- extra light) se debe poder elegir cualquiera de las 3 que poseen valores diferentes.
Campo2 se debe poder elegir kg o toneladas
campo 3 se debe poder poner en números la cantidad de toneladas o kilos
botón cotizar
campo 4 resultado en USD
agradezco de antemano si alguno de ustedes me pudiese ayudar con esta tarea ya que sinceramente no he podido encontrar ningún tutorial para hacerlo.
Me despido con un saludo cordial desde valparaiso Chile

1 respuesta

Respuesta
1
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>
No te ha metido códigos raros, así que con copiar y pegar lo tienes funcionando. Los precios luego los puedes tener en una base de datos, pero eso te lo complicaría un poco más.
Los decimales con punto para que los acepte.
Kike
Un millón de gracias kike, de verdad no esperaba tanta buena voluntad, lo voy a probar y si me funciona te cuento, de todas maneras gracias nuevamente por darte el tiempo para ayudarme.
Un gran saludo desde Valparaiso Chile.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas