JavaScript - Evitar doble click

   
Vista:

Evitar doble click

Publicado por Sebastian (6 intervenciones) el 26/11/2015 21:42:38
Saludos, espero me respondan????

Mi duda es la siguiente, tengo una imagen que al dar clic me abre un reporte en pdf. Mi idea es que permita abrir una sola vez el pdf.

A la segunda vez que de clic me muestre un mensaje de alerta.

Tengo lo siguiente en el evento onclick y efectivamente me permite abrir una sola vez el pdf, pero no se como incluir un mensaje de alerta para lo próxima ves q presione.

1
onclick="this.onclick=function(){return false}"

Gracias por responder....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jordi

Evitar doble click

Publicado por Jordi (2 intervenciones) el 05/12/2015 08:33:22
Según entiendo, el problema es que quieres hacer que una acción (descargar el PDF) sólo se ejecute una vez en toda la página actual y hasta que no recargues página no va a poder volver a llevarse a cabo esa acción. ¿Correcto?

Si es así, sólo tienes que añadir una variable de Javascript global (sin declararla como var) y según su valor, ejecutar una acción u otra.

En tu elemento deberías tener una llamada a una función personalizada:

1
onclick="startDownload()"

Y en otro lado del código, declarar esa función de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
   isDownloaded = false;    // declaras la variable global
 
   function startDownload() {
      if(!isDownloaded) {
          // Si es la primera vez...
          // Código de descarga aquí
         isDonwloaded = true;
      }
     else {
          alert("Mensaje de aviso");
     }
}
</script>


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Evitar doble click

Publicado por Sebastian (6 intervenciones) el 05/12/2015 16:48:54
Muchas gracias por tu respuesta, efectivamente me funciono de maravilla.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar