Foros del Web » Programando para Internet » Javascript »

Es posible hacer esto?

Estas en el tema de Es posible hacer esto? en el foro de Javascript en Foros del Web. Hola! se me ocurrió una función que no se si realmente se puede hacer con javascript! o si alguien lo hizo alguna vez... pero ahi ...
  #1 (permalink)  
Antiguo 01/01/2015, 15:23
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Pregunta Es posible hacer esto?

Hola! se me ocurrió una función que no se si realmente se puede hacer con javascript! o si alguien lo hizo alguna vez... pero ahi lanzo la función:


Código HTML:
Se podría hacer un enlace, que al clicarlo salga un mensaje abajo del enlace que diga "Gracias por clicar" y si la persona quiere volver a clicar el mismo enlace le salga "Usted ya clico este enlace"
creo que seria muy interesante para varias funciones! si alguien puede asesorarme estaría muy agradecido
  #2 (permalink)  
Antiguo 01/01/2015, 16:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Es posible hacer esto?

Hola:

Un enlace, enlaza... o sea se sale de la página, así que para lo que quieres podrías necesitar algo más que javascript...

Para validaciones y confirmaciones existe el evento click, que se activa al pulsar el elemento asociado (el enlace), y puede cancelarlo si no pasa la validación/confirmación, pero luego de salir de la página con javascript no sabrías si se ha pulsado...

Si usas ventanas o te ayudas de otros lenguajes en el servidor sería posible.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/01/2015, 02:56
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Respuesta: Es posible hacer esto?

Muchisimas Gracias! mi intencion era algo mas como un enlace enfocado solo a la funcion! me imagino que se necesitara usacar cookies o algo asi (cosa que no se como va) que al clicar un enlace, se instale una cookie que diga que esa persona ya clico el enlace.. y cuando lo vuelva a clicar le aparezca el mensaje que ya clico..

Creo que voy a contratar un freelancer para esa opcion por que no encontre nada a lo que se le parezca!

Pero muchas gracias por la respuesta! +1



Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Un enlace, enlaza... o sea se sale de la página, así que para lo que quieres podrías necesitar algo más que javascript...

Para validaciones y confirmaciones existe el evento click, que se activa al pulsar el elemento asociado (el enlace), y puede cancelarlo si no pasa la validación/confirmación, pero luego de salir de la página con javascript no sabrías si se ha pulsado...

Si usas ventanas o te ayudas de otros lenguajes en el servidor sería posible.

Saludos
  #4 (permalink)  
Antiguo 02/01/2015, 03:02
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 14 años, 6 meses
Puntos: 2
Puedes utilizar php y mysql, pero eso es ssólo si tienes un registro de usuarios, si el usuario clickea el Link agregar un valor a la base de datos, y al volver a pincharon lanzará el mensaje de qhe el ya ya lo pincho y eso lo puedes hacer con if y else
  #5 (permalink)  
Antiguo 02/01/2015, 03:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Es posible hacer esto?

Como bien te dicen, no es correcto utilizar un enlace si no vas a enlazar. En su lugar, puedes usar un elemento en línea, como un <label>, además de un contador en el código JavaScript al que inicializarías en cero, de manera que cuando se produzca el evento click en dicho elemento, verificas el valor del contador; si este es igual a cero, quiere decir que es la primera vez que se lo pulsa y se mostraría el primer mensaje, caso contrario, es decir, si el valor del contador es mayor a cero, quiere decir que el elemento ya fue pulsado y, entonces, muestras el segundo mensaje. Para incrementar el valor del contador, bastaría con que le sumes 1 luego de la condición.

Código Javascript:
Ver original
  1. var contador = 0;
  2.  
  3. document.querySelector("#idLabel").addEventListener("click", function(){
  4.     if (contador > 0){
  5.         alert("Usted ya pulsó este elemento.");
  6.     }
  7.     else{
  8.         alert("Ha pulsado este elemento por primera vez");
  9.     }
  10.  
  11.     contador++;
  12. }, false);

Ahora que si quieres que esto se conserve al salir de la página y luego volver a ella, deberás guardar dicho valor en una cookie o almacenarla localmente.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 02/01/2015, 04:27
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Respuesta: Es posible hacer esto?

Excelente! Me sirve muchisimas Gracias!



Cita:
Iniciado por Alexis88 Ver Mensaje
Como bien te dicen, no es correcto utilizar un enlace si no vas a enlazar. En su lugar, puedes usar un elemento en línea, como un <label>, además de un contador en el código JavaScript al que inicializarías en cero, de manera que cuando se produzca el evento click en dicho elemento, verificas el valor del contador; si este es igual a cero, quiere decir que es la primera vez que se lo pulsa y se mostraría el primer mensaje, caso contrario, es decir, si el valor del contador es mayor a cero, quiere decir que el elemento ya fue pulsado y, entonces, muestras el segundo mensaje. Para incrementar el valor del contador, bastaría con que le sumes 1 luego de la condición.

Código Javascript:
Ver original
  1. var contador = 0;
  2.  
  3. document.querySelector("#idLabel").addEventListener("click", function(){
  4.     if (contador > 0){
  5.         alert("Usted ya pulsó este elemento.");
  6.     }
  7.     else{
  8.         alert("Ha pulsado este elemento por primera vez");
  9.     }
  10.  
  11.     contador++;
  12. }, false);

Ahora que si quieres que esto se conserve al salir de la página y luego volver a ella, deberás guardar dicho valor en una cookie o almacenarla localmente.

Saludos

Etiquetas: debajo, enlace, mensaje
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 10:20.