Foros del Web » Programando para Internet » Javascript »

Problema con funciones en onsubmit

Estas en el tema de Problema con funciones en onsubmit en el foro de Javascript en Foros del Web. Hola, tengo un inconveniente con algunas funciones en este código: En el evento onsubmit, se ejecuta correctamente la función return validar(this) , pero las demás ...
  #1 (permalink)  
Antiguo 10/12/2007, 09:57
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Problema con funciones en onsubmit

Hola, tengo un inconveniente con algunas funciones en este código:
En el evento onsubmit, se ejecuta correctamente la función return validar(this), pero las demás funciones no se ejecutan (document.getElementById('boton').disabled=true; document.getElementById('boton').value='Guardando. ..';
cargando();
)

Código HTML:
<html>
<head>

<script type="text/javascript">

function validar(frm) {

  var resultado1 = /^(.)+\.(jpg|gif|png)$/.test(frm.archivo.value);

  document.getElementById('error_archivo').style.visibility = (resultado1) ? 'hidden':'visible';
  document.getElementById('archivo').style.borderColor = (resultado1) ? 'black':'red';
  document.getElementById('archivo').style.color = (resultado1) ? 'black':'red';

  return  (resultado1);
  

  
}

function cargando(){

document.getElementById('cargando_div').style.display = 'block';

}


</script>

</head>
<body>

<form 
onSubmit="return validar(this);
document.getElementById('boton').disabled=true; document.getElementById('boton').value='Guardando...';
cargando();">


<input type="file" name="archivo" id="archivo" size="40">

<div class="error" id="error_archivo">
<BR>La URL introducida no es válida.
</div>



<input type="submit" name="boton" value="Subir archivo" id="boton">

</form>

</body>

</html> 
Gracias!
  #2 (permalink)  
Antiguo 10/12/2007, 10:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema con funciones en onsubmit

Hola hgp147:

Siempre que pongas return, fuerzas la salida de lo que estés haciendo, así que si quieres que en el evento se hagan otras cosas, obligatoriamente debes ponerlas antes del return...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 10/12/2007, 13:20
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Problema con funciones en onsubmit

Hola caricatos, puse atras de todo el return, pero no funciona correctamente. Es decir que me ejecutan las 4 funciones ( document.getElementById('boton').disabled=true; document.getElementById('boton').value='Guardando. ..'; cargando();return validar(this) ).
Si el resultado de lo puesto en el input es correcto, deberían ejecutarse los otros 3 ( document.getElementById('boton').disabled=true; document.getElementById('boton').value='Guardando. ..'; cargando();), pero si el contenido del input no es correcto no deberían ejecutarse.
Gracias
  #4 (permalink)  
Antiguo 10/12/2007, 14:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema con funciones en onsubmit

Hola:

Creo que deberías guardar el resultado de la validación en una variable:

onsubmit="error = validar(this); if (!error) {otras_cosas()}; return error"

siendo otras_cosas() lo que tu quieres que se haga...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 10/12/2007, 15:57
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Problema con funciones en onsubmit

GRACIAS caricatos!!!!!!!

El código que me pasaste tenía un error, el ! antes de error. Se lo elimine y funciona perfecto. Gracias de nuevo
  #6 (permalink)  
Antiguo 10/12/2007, 16:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema con funciones en onsubmit

Hola:

Me alegro de que funcione, pero ese carácter lo puse con toda intención, para negar el error... al final, parece que no entendí del todo el problema

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 21:18.