En este grupo En todos

Foro de PHP



Condicional en lista desplegable

Benjamin
Programación comenco
Escrito por Benjamin Fernandez
el 15/03/2011

Saludos.


Tengo un formulario en html con un campo de texto "cantidad" y quisiera que cuando se ingresa una cantidad, llame a una función javascript según el valor de dicha cantidad, por ejemplo:


Si la cantidad ingresada es igual o mayor que 100 y menor que 200, entonces llamar descuento_10JS()

Sino

Si la cantidad ingresada es igual o mayor que 200 y menor que 500, entonces llamar descuento_20JS()

Sino

Si la cantidad ingresada es mayor que 500, entonces llamar descuento_30JS()

Sino

Entonces llamar descuento_0JS()

---------------------------------------------------------------

El código debería ser algo así:


Onchange="if (cantidad. Value >=100 and <=199)
{ desc_10() }
else
if (cantidad. Value >=200 and <=499)
{ desc_20() }
else
if (cantidad. Value >=500)
{ desc_30() }
else
{ desc_0() }">


El problema es que no tengo idea cómo escribir este código, las funciones javascritp funcionan perfectamente pero no logro hacer funcionar este código ¿Alguna idea?


Muchas gracias.

Benjamin Fernandez
Programación comenco
Escrito por Benjamin Fernandez
el 16/03/2011

¿NA DE NA?... JO QUE FLIPE

Benjamin Fernandez
Programación comenco
Escrito por Benjamin Fernandez
el 17/03/2011

Vale...

Desde ahora me llamo "Juan Palomo" (yo me lo guiso, yo me lo como).


Por si alguien se encuentra en mi misma situación, ya he encontrado el código después de 1000 experimentos y funciona correctamente, la forma de hacerlo es así:


<input name="txtcantidad" type="text" id="txtcantidad" value="1" size="4" onchange=
"if (txtcantidad. Value < 100)
{ desc_0() }
else if (txtcantidad. Value < 200)
{ desc_10() }
else if (txtcantidad. Value < 500)
{ desc_20() }
else
{ desc_30() }
"/>


Y las funciones javascript son las siguientes:


<script language="javascript">

function desc_0() {
document.modelo.txtprecio. Value=document.modelo.optmedida. Value;
document.modelo.txttotal. Value = document.modelo.txtcantidad. Value*document.modelo.txtprecio. Value;
document.modelo.txtdescuento. Value = 0;
}

function desc_10() {
document.modelo.txtprecio. Value=document.modelo.optmedida. Value;
total = document.modelo.txtcantidad. Value*document.modelo.txtprecio. Value;
condescuento = total*10/100;
document.modelo.txttotal. Value = total-condescuento;
document.modelo.txtdescuento. Value = 10;
}

function desc_20() {
document.modelo.txtprecio. Value=document.modelo.optmedida. Value;
total = document.modelo.txtcantidad. Value*document.modelo.txtprecio. Value;
condescuento = total*20/100;
document.modelo.txttotal. Value = total-condescuento;
document.modelo.txtdescuento. Value = 20;
}

function desc_30() {
document.modelo.txtprecio. Value=document.modelo.optmedida. Value;
total = document.modelo.txtcantidad. Value*document.modelo.txtprecio. Value;
condescuento = total*30/100;
document.modelo.txttotal. Value = total-condescuento;
document.modelo.txtdescuento. Value = 30;
}
</script>


Eso es todo.


Saludos