elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Ayuda con esta evento onload
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con esta evento onload  (Leído 1,714 veces)
diego1221

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda con esta evento onload
« en: 20 Julio 2015, 18:08 pm »

Tengo este codigo

Código
  1. <script>
  2. function desaparecer()
  3. {
  4.        document.getElementById('mi_capa').style.display = 'none';
  5. }  
  6. </script>
Código
  1. <body onload="setTimeout('desaparecer()', 1000)">
  2.  
  3. <div class='mi_capa' id='mi_capa' style='z-index:99999; position:fixed; top: 0; left: 0; overflow:visible; width:100%; height:100%; background: #F4F8F9;'>
  4. <div style='width:600px; height:400px; position:absolute; top:50%; left:50%; margin-left:-300px; margin-top:-200px; padding:100px 30px 0px 0px; color:#000000; font-size:20px; line-height:20px; text-align:center;'>
  5.  
  6. <form action="validar-password.php" method="post">
  7. Escribe una clave:
  8. <input type=password name="clave">
  9. <input type="submit" value="Enviar">
  10. </form>
  11. </div></div>


lo que quiero es que cuando pulse el  botón, se ejecute la acion del body onload sin nesecidad de que sea con el tiempo, es decier que cuando pulse el boton, el body me carge, llevo muchi tiempo intentando por no he podido por que en el form hay una action y no se que ponerle para que el body onload se ejecute.

Gracias por su ayuda

Mod: Obligatorio el uso de etiquetas GeSHi.


« Última modificación: 21 Julio 2015, 14:58 pm por #!drvy » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda con esta evento onload
« Respuesta #1 en: 20 Julio 2015, 19:42 pm »

Al boton ponle un onclick que llame a otra función.

No entendí bien. ¿Quieres que al pulsar el boton, se elimine el timeout? Para eliminar timeout, basta poner clearTimeout(id). Ese ID es el que retorna setTimeout(). Así que la idea es que body onclick llame a una función que hagas. Poner el setTimeout directamente no me parece una buena práctica.


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Ayuda con esta evento onload
« Respuesta #2 en: 21 Julio 2015, 15:18 pm »

Aunque tampoco entiendo que es lo que quieres hacer, creo que lo que intentas es ocultar el formulario cuando este se enviá. Si es asi, solo te hace falta esperar un evento de envío sobre el formulario.

Código
  1.  
  2. <div class='mi_capa' id='mi_capa' style='z-index:99999; position:fixed; top: 0; left: 0; overflow:visible; width:100%; height:100%; background: #F4F8F9;'>
  3. <div style='width:600px; height:400px; position:absolute; top:50%; left:50%; margin-left:-300px; margin-top:-200px; padding:100px 30px 0px 0px; color:#000000; font-size:20px; line-height:20px; text-align:center;'>
  4.    <form id='formulario' action="validar-password.php" method="post">
  5.        Escribe una clave:
  6.        <input type=password name="clave">
  7.        <input type="submit" value="Enviar">
  8.    </form>
  9. </div></div>
  10.  
  11. <script type='text/javascript'>
  12.  
  13. document.getElementById('formulario').addEventListener('submit', function(event){
  14.    document.getElementById('mi_capa').style.display = 'none';
  15. });
  16.  
  17.  
  18. </body>

Si quieres que tome algo de tiempo, cambia el JS así:

Código
  1. <script type='text/javascript'>
  2.  
  3. document.getElementById('formulario').addEventListener('submit', function(event){
  4.    event.preventDefault();
  5.  
  6.    document.getElementById('mi_capa').style.display = 'none';
  7.  
  8.    setTimeout(function(){
  9.        document.getElementById('formulario').submit();
  10.    }, 1000);
  11. });
  12.  
  13. </script>

Saludos
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Ayuda con esta evento onload
« Respuesta #3 en: 21 Julio 2015, 16:43 pm »

Si quieres que desaparezca  con un efecto, solo agrega una clase CSS:

Código
  1. .form-hidden {
  2.    opacity: 0;
  3.    height: 0;
  4.    visibility: hidden;
  5. }

Dado que display no es animable, le hacemos un height: 0 y actúa como un display: none. El formulario, debe tener la propiedad transition.

Demo JSFiddle
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Acceder al evento de un miembro del array. ayuda
.NET (C#, VB.NET, ASP)
70N1 2 2,392 Último mensaje 24 Noviembre 2008, 17:00 pm
por 70N1
Problema con onLoad(javascript)
Desarrollo Web
sexto 2 2,809 Último mensaje 16 Octubre 2010, 17:33 pm
por sexto
Ayuda, problema evento keypressed
Java
ChavalChavito 1 2,596 Último mensaje 14 Febrero 2011, 17:47 pm
por NetJava
ayuda con evento de una datagrid
Programación Visual Basic
ergoforce 2 1,453 Último mensaje 1 Agosto 2013, 13:21 pm
por ergoforce
Evento del Mouse ayuda
.NET (C#, VB.NET, ASP)
andrecid 3 2,317 Último mensaje 10 Septiembre 2015, 00:47 am
por andrecid
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines