Foros del Web » Programando para Internet » Javascript »

no me esta validando funcion en evento Onsubmit

Estas en el tema de no me esta validando funcion en evento Onsubmit en el foro de Javascript en Foros del Web. Hola a todoss, espero que esten muy bien. Quiero agradecerles primeramente por chequear mi mensaje. Actualmente estoy teniendo problemas para hacer unas validaciones. Tengo un ...
  #1 (permalink)  
Antiguo 09/05/2003, 14:24
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 6 meses
Puntos: 0
Pregunta no me esta validando funcion en evento Onsubmit

Hola a todoss, espero que esten muy bien.

Quiero agradecerles primeramente por chequear mi mensaje. Actualmente estoy teniendo problemas para hacer unas validaciones. Tengo un formulario en el cual le coloque un Onsubmit="return valida()".

En la funcion Valida(), yo coloque el siguiente codigo:

<script language="JavaScript">
function redire(){
document.location.href='buscasol.asp?consulta=<%=r equest("consulta")%>&tit=<%=request("tit")%>&fech= 0'
}

function redire2(){
document.location.href='buscasol.asp?consulta=<%=r equest("consulta")%>&tit=<%=request("tit")%>&fech= 1'
}

function valida(){
with (document.forma) {

if (selec.value == '1') {
if (des.value == '' || des.value == 'mm/dd/aaaa' || len(des.value) != '10') {
alert('Datos incompletos en campo Desde, recuerde que el formato es mm/dd/aaaa, \nde lo contrario continuara con este error.')
return false
}
}

if (selec.value == '2') {
if (des.value == '' || des.value == 'mm/dd/aaaa' || len(des.value) != '10') {
alert('Datos incompletos en campo Desde, recuerde que el formato \nes mm/dd/aaaa, de lo contrario continuara con este error.')
return false
}
if (has.value == '' || has.value == 'mm/dd/aaaa' || len(has.value) != '10') {
alert('Datos incompletos en campo Hasta, recuerde que el formato es mm/dd/aaaa, \nde lo contrario continuara con este error.')
return false
}
}

if (selec.value == '3') {
if (has.value == '' || has.value == 'mm/dd/aaaa' || len(has.value) != '10') {
alert('Datos incompletos en campo Hasta, recuerde que el formato es mm/dd/aaaa, \nde lo contrario continuara con este error.')
return false
}
}
}
}
</script>


El problema es que no esta realizando las validaciones como se lo estoy especifcando... se supone que si el total de caractareres en las cajas de texto es mayor de 10 debe dar un error, si estan en blanco o con el texto mm/dd/aaaa tambien deberia estrallar, sin embargo este esta obviando esa validacion y pues no esta funcionando.

Espero que cualquier comentario que tengan al respecto pues me lo hagan.

GRacias mil,

Zero.
  #2 (permalink)  
Antiguo 09/05/2003, 14:36
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Yo lo que veo es que estas usando una función len() que yo no conozco en JavaScript (puedo estar equivocado).

Prueba reemplazando esto:

len(has.value) != '10'

Por esto:

has.value.length != 10

Saludos.
  #3 (permalink)  
Antiguo 09/05/2003, 14:47
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 6 meses
Puntos: 0
no, no funciono, de igual manera sigue sin hacer caso...
  #4 (permalink)  
Antiguo 09/05/2003, 14:58
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
¿Podrías publicar la definición de los siguientes tags?
- forma
- selec
- des
- has

Deberías validar que el largo sea mayor de 10 para dar el error ¿no? como lo tienes te debería regañar con larco 7 o 8 o 9 o 11...
  #5 (permalink)  
Antiguo 09/05/2003, 15:04
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 6 meses
Puntos: 0
----- Forma

<form name="forma" method="POST" action="buscasol.asp?consulta=<%=request("consulta ")%>&tit=<%=request("tit")%>&fech=<%=request("fech ")%>" onsubmit="return valida()">


---- Inputs Des y Has

<input type="text" name="des" size="17" onfocus="document.forma.des.value='';" style="font-family: Arial; font-size: 8pt; border-style: solid; border-width: 1; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; font-color: #FF0000; text-align: center" tabindex="1" value="mm/dd/aaaa">&nbsp;&nbsp;
<font size="1">Hasta:</font>
<input type="text" name="has" size="17" onfocus="document.forma.has.value='';" style="font-family: Arial; font-size: 8pt; border-style: solid; border-width: 1; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; font-color: #FF0000; text-align: center" tabindex="2" value="mm/dd/aaaa">
<img border="0" onclick="document.forma.submit();" src="Images/busq.gif" alt="Realizar la busqueda" style="cursor:hand" width="11" height="13"></font><span style="vertical-align: middle"><font size="1" face="Arial">


----- Radios Selec

<input type="radio" value="1" onclick="document.forma.has.style.visibility='hidd en';document.forma.des.style.visibility='visible'" name="selec" tabindex="4">Desde
<input type="radio" name="selec" checked onclick="document.forma.des.style.visibility='visi ble';document.forma.has.style.visibility='visible' " value="2" tabindex="5">Desde/Hasta&nbsp;
<input type="radio" name="selec" onclick="document.forma.des.style.visibility='hidd en';document.forma.has.style.visibility='visible'" value="3" tabindex="6">Hasta
  #6 (permalink)  
Antiguo 09/05/2003, 15:18
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Bueno, yo los radiobuttons los manejo de otra manera.

Yo nunca he podido capturar el valor del conjunto de radiobuttons, lo que hago usualmente es cambiar una variable cuando hacen click en alguno de los radiobuttons y con ello tengo garantizado el valor del conjunto.

Algo asi:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   var 
seleccionado "";

   function 
valida(){
    
alert("El valor del radiobutton seleccionado es: " seleccionado);
   }

   function 
cambiaSel(chk){
    
seleccionado chk.value;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <input type='radio' name='uno' value='1' onclick='cambiaSel(this)'>Uno<br>
   <input type='radio' name='uno' value='2' onclick='cambiaSel(this)'>Dos<br>
   <input type='radio' name='uno' value='3' onclick='cambiaSel(this)'>Tres<br>
   <input type='radio' name='uno' value='4' onclick='cambiaSel(this)'>Cuatro<br>
   <input type='radio' name='uno' value='5' onclick='cambiaSel(this)'>Cinco<br>
   <input type="button" name="enviar" value="Enviar" onclick="valida()">
  </form>
 </body>
</html> 
Igual puede ser que no sea ese el problema, pero si dudas, pon un alert al comienzo de tu función validadora para ver que valor tienes en el radiobutton.

NOTA: No tienes return true en la función validadora.

Saludos.

**************************************************

A propósito, si estas validando rangos de fechas deberías ver si algo de esto te sirve.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:27.