Validar entrada del lado del cliente

Necesito validar al enviar los datos lo siguiente:
1. Tengo un formulario donde tengo varios campos entre ellos dos variables (valor) y (tcentro) que es un combo.
2. El usuario pone valor = 300, y tcentro(estatal).....
Si es verdadero que se envíen los datos, pero si el pone valor=300, y tcentro(privado) que me envíe un mensaje que el valor no corresponde al tipo de centro elegido.
Ahora el otro caso.. Es
Si el usuario pone valor = 400, y tcentro(privado).....
Si es verdadero que se envíen los datos, pero si el pone valor=400, y tcentro(estatal) que me envíe un mensaje que el valor no corresponde al tipo de centro elegido.
Ahora yo trate hacerlo de la siguiente forma:
function pago()
{
var valor="";
var tipo="";
valor=document.FrontPage_Form1.valor.value;
tipo=document.FrontPage_Form1.tcentro.options[document.FrontPage_Form1.tcentro.selectedIndex].value;
if(valor!="300" && tipo!="ESTATAL")
{
alert("El colegio estatal debe pagar el arancel de C$300 cordobas netos");
document.FrontPage_Form1.tcentro.select();
document.FrontPage_Form1.tcentro.focus();
return false;
if(valor!=400 && tipo!="PRIVADO")
{
alert("El colegio privado debe pagar el arancel de C$400 cordobas netos");
document.FrontPage_Form1.tcentro.select();
document.FrontPage_Form1.tcentro.focus();
return false;
}
}
return(true);
}//Fin de la función pago

1 respuesta

Respuesta
1
Técnicamente parece estar bien, aunque lo que me dices del 300 y 400 esta al revés.
Según me dices si pone 300 y estatal es cuando debe saltar; así como si pone 400 y privado.
Esto lo pondría así:
function pago(){
var valor="";
var tipo="";
valor=document.FrontPage_Form1.valor.value;
tipo=document.FrontPage_Form1.tcentro.options[document.FrontPage_Form1.tcentro.selectedIndex].value;
if(valor=="300" && tipo=="ESTATAL"){
alert("El colegio estatal debe pagar el arancel de C$300 cordobas netos");
document.FrontPage_Form1.tcentro.select();
document.FrontPage_Form1.tcentro.focus();
return false;
}
if(valor==400 && tipo=="PRIVADO"){
alert("El colegio privado debe pagar el arancel de C$400 cordobas netos");
document.FrontPage_Form1.tcentro.select();
document.FrontPage_Form1.tcentro.focus();
return false;
}
return true;
}//Fin de la función pago
Espero que te ayude, si no, preguntame otra vez especificando más el error que te da o el problema que tienes, ¿ok?
No entiendo que me preguntas... ¿no funciona la función que has hecho?
Dime que necesitas, que problema tienes.
Perdón,,, la pregunta es que ya lo hice de la forma que esta arriba, pero no me funciona... no se que esta pasando..
Saludes..
Hola que tal...
Fíjate que probé el código nuevamente como me lo indicabas... pero no funciona
Si quieres te envío el formulario ... si me das tu emails..
Dime y finalizare la pregunta ... ok
Gracias... y saludes...
Pues veras... el archivo es grande y ponerlo acá seria muy largo, así es que te lo envío a tu email... y cuando me ayudes a solucionar el problema ponemos por supuesto la respuesta acá en el foro.. ok
Ya te lo envío...
Gracias...
Sera mejor que me envíes el formulario. Puedes ponérmelo aquí, si pones que la pregunta sea privada :D
Si no, [email protected]
Creo que ya veo donde esta la pega :D
Perdona, debía estar un poco mal cuando te respondí...
Los "if´s" son asi:
if(tipo == "ESTATAL" && valor != "300")
....
if(tipo == "PRIVADO" && valor!="400")
:)
Un comentario para " Valor del depósito o pago":
Se supone que solo se pueden poner los valores 300/400? Porque si es así, yo que tu pondría un select :)
O que si eliges estatal automáticamente ponga 300 y si eliges privado ponga 400 (poniendo las cosas juntas para que se vea bien, claro).
Otra vez,
Al fin!
Tienes el error en el html del formulario!
<option selected>ESTATAL</option>
<option>PRIVADO</option>
Te faltan los values!!!
<option selected value="ESTATAL">ESTATAL</option>
<option value="PRIVADO">PRIVADO</option>
Esto debería arreglarlo todo de una vez por todas :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas