Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Anonymatrix en 12 Marzo 2017, 21:12 pm



Título: [Solucionado] - [Problema] con 'onmouseover' y 'onmouseout'. En input.
Publicado por: Anonymatrix en 12 Marzo 2017, 21:12 pm
Hola, qué tal, alguien me ayuda porfa? grx =)

Código:
placeholder="nombre"
onmouseover="this.placeholder = '[obligatorio]'"
onmouseout="this.placeholder = 'nombre'"
onfocus="this.placeholder = ''"
onblur="this.placeholder = 'nombre'"

El primero es el texto por defecto del input.

El segundo hace que al poner el mouse encima (sin hacer click), el texto cambie a '[obligatorio]'.

El tercero hace que al poner el mouse fuera del input, el texto cambie a 'nombre'.

El cuarto hace que al hacer click en el input, el texto cambie a vacío.

El quinto hace que al dejar de hacer click en el input, el texto cambie a 'nombre'.


*El problema lo tengo el el segundo y tercero, yo quiero que aparezca esto solo cuando no estás seleccionando el input.

He probado a utilizar:

Código:
onmouseout="this.placeholder = 'nombre'"

A simple vista funciona.

Pero tiene un problema:

Al hacer click en el input (onfocus -> texto vacío), si muevo el texto fuera del input, el onmouseout se activa, y quiero que se active solo cuando no estés seleccionando el input.

---

Creo que para solucionarlo habria que hacerlo desde javascript, pero no sé mucho sobre ello y no sabria como hacerlo.

Código:
onmouseout if !input_seleccionado echo 'nombre'


Título: Respuesta Correcta: [Problema] con 'onmouseout'. En input.
Publicado por: Anonymatrix en 15 Marzo 2017, 19:40 pm
Increible Señores, logré solucionarlo yo solito, acá dejo la solución, por si a alguien le sirve:

Código:
onmouseover="if(this.placeholder == 'nombre'){this.placeholder = '[obligatorio]';}"

onmouseout="if(this.placeholder == '[obligatorio]'){this.placeholder = 'nombre';}"


*De esta forma no cambia cuando tienes seleccionado el input, solo cambia, cuando no lo tienes seleccionado, y éste está vacío.