Foros del Web » Programando para Internet » Javascript »

Validación vacia

Estas en el tema de Validación vacia en el foro de Javascript en Foros del Web. Holas comunidad les comento tengo dos validadores y pues me funcionan bien salvo por un pequeño problema, que si bien no me quita el sueño ...
  #1 (permalink)  
Antiguo 09/11/2008, 16:19
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Validación vacia

Holas comunidad les comento tengo dos validadores y pues me funcionan bien salvo por un pequeño problema, que si bien no me quita el sueño me gustaría resolver.....

tengo un select o combobox como quieran llamarlo, de nombre USER y bueno cuando esta en vacio como veran en mi codigo me salta la funcion del(); y luego me salta la funcion validar, cuando selecciono un usuario de la lista funciono perfecto, pero cuando el select esta vacio solo me gustaria que saltara la funcion validar();
ya que al no seleccionar nada no deberia aparecer la funcion del();
he tratao de cambiar el return false por el return del(); que es como lo que imagine pero no funciona alguna sugerencia ...

gracias

Código:
<script Language="JavaScript">
function validar(formulario)
{
 if (formulario.USER.value.length == "")
   {
    alert("Debe Seleccionar un Usuario.");
	formulario.USER.focus();
    return (false);
  }
 return (true);
}
</script>
<script LANGUAGE="JavaScript">
<!--
function del()
{
var agree=confirm("Seguro(a) de Querer Eliminar al Usuario ?");
if (agree)
	return true ;
else
	return false ;
}
// -->
</script>
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 09/11/2008, 16:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Validación vacia

En vez del return true de la función validar coloca return del().
Y en la validación solo llamas a la función validar.

P.S.: Ahora, mirando un poco el código, no tiene mucho sentido comparar .length con una cadena vacía, si lo único que quieres saber es si el value está vacío el .length no hace falta.

Otra cosa, la función del() podría ser simplemente:
Código javascript:
Ver original
  1. function del() {
  2.     return confirm("..."); /* Ya que confirm ya devuelve un Boolean */
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/11/2008, 16:36
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Validación vacia

buenas como comente ya habia tratado poner return del();
pero igual me saltaba primero la funcion del();
cambie la funcion del() a solo el return confirm pero nada :/

añado que tengo en el boton la funcion del();

<input type="submit" name="enviar" value="Eliminar" onClick="return del();">

y en el form la funcion validar...

<form name="elimina" action="panel_eu.php" onSubmit="return validar(this)" method="POST" >
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 09/11/2008, 16:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Validación vacia

Quita la función del botón, solo llama a validar(), y luego en la función validar, reemplaza el return true por return del().

Lo de la cambiar el contenido de la función del() era para optimizar tu código, pero el resultado sigue siendo el mismo .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 09/11/2008, 16:49
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Validación vacia

yes yes hay estaba la cosa muchas gracias :)
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 16:20.