Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Ocultar DIV luego de completar formulario

4 de mayo de 2016

Hola.

Estoy haciendo un formulario de registro para una página donde uno puede hacer reservas para alquilar canchas de tenis.

Yo tengo varios <div> donde voy mostrando qué canchas y en qué horarios están disponibles. Yo quiero que cuando complete un formulario ese <div> se oculte, así no lo muestra la página.

Lo estoy haciendo pero al refrescar la pagina se vuelve a mostrar. ¿Qué sugerencias me pueden dar para que el <div> permanezca oculto permanentemente?

Estoy usando la clase hide de Bootstrap con un JavaScript.

Saludos


Respuestas

#1

Para ocultar el <div> permanentemente, la "única" solución sería cambiar la aplicación para que desde el servidor no se incluya ese <div> en la página que se envía al servidor.

Si no puedes cambiar eso, la "única" solución sería guardar en el navegador la información necesaria para ocultar ese <div> siempre que el usuario visite la página. La forma tradicional de hacerlo sería crear una cookie. La forma nueva sería usar el "local storage" que es una característica de los navegadores que permiten a los sitios web guardar información en el navegador.

Tendrías que usar JavaScript y el código sería algo así. Cuando se complete el formulario, guardas una variable llamada estadoDelDiv (deberías usar un nombre mejor):

localStorage.setItem('estadoDelDiv', 'oculto');

Después, al cargar la página, compruebas este valor para saber si tienes que mostrar el <div> o no:

if (localStorage.getItem('estadoDelDiv') == 'oculto') {
    // ocultar el div
}

@javiereguiluz

4 mayo 2016, 15:28
#2

La idea es que cambie dinamicamente. Cuando envia el formulario que tal div se oculte asi la cancha no esta disponible ya despues de que pase la fecha donde se juega, el div deberia aparecer. La de local storage la pense pero a lo mejor habia algo mas sencillo ya que el usario va a estar registrado y lo mejor desde la base de datos se podia ocultar.

@jonatancaudo

4 mayo 2016, 15:41
#3

Si el usuario está registrado y puedes hacer cualquier cambio en la parte del servidor, entonces la solución puede ser sencilla. No se cómo generas el código HTML, pero si usas un motor de plantillas, entonces seguro que tienes la opción de mostrar/ocultar contenidos según unas condiciones.

Si por ejemplo usas PHP y Twig, sería algo así:

{% if cacha.disponible %}
    <div> ... </div>
{% else %}
    <div>La cancha no está disponible en la fecha seleccionada</div>
{% endif %}

En cualquier caso, si el formulario es muy dinámico, quizás es mejor hacerlo en JavaScript, donde ocultar/mostrar cosas va a ser instantáneo.

@javiereguiluz

4 mayo 2016, 15:53
#4

Yo prefiero hacerlo con javascript pero no logre hacerlo, hago un script pero al refrescar la pagina se me actualiza. Si pude hacerlo al revés, que estén campos ocultos e ir mostrándolos.

@jonatancaudo

4 mayo 2016, 15:59
#5

Hay gente testaruda en la vida :v

@cristian_angulo

5 mayo 2016, 0:06
#6

Si como vos Cristian Angulo que te sacas fotos como un adolecenste tomando cerveza, date cuenta que con esa panza no podes, queda mal ...

@jonatancaudo

5 mayo 2016, 16:47
#7

Por favor respetémonos entre nosotros. Se puede decir cualquier cosa sin recurrir a los insultos. Gracias.

@javiereguiluz

5 mayo 2016, 17:53
#8

Jajajajajaa perdón @javiereguiluz. De toda la gente que necesitamos ayuda, este sí es un pendejazo... :D Vaya y llore con su madrecita :v

@cristian_angulo

5 mayo 2016, 19:05
#9

Vos necesitas ayuda Cristian, te viste la panza que tenes? Y ni hablar de tu mujer por favor ...

@jonatancaudo

5 mayo 2016, 19:38
#10

Jajajaja ¿A usted con esa cara sí se le arriba una mujer? :v Mamáaaaaa, me están molestando... :v

@cristian_angulo

5 mayo 2016, 19:40