Autor Tema: Desactivar u ocultar formularios  (Leído 7184 veces)

Desconectado Rododendro

  • Junior Member
  • **
  • Mensajes: 95
Desactivar u ocultar formularios
« en: 22 de Marzo de 2007, 12:42:10 pm »
Hola, tengo la siguiente pregunta: ¿cómo se puede hacer que un formulario quede desactivado u oculto después de que el usuario haya enviado sus datos?  :???:

   

Desconectado halo

  • Pro Member
  • ****
  • Mensajes: 541
Re: Desactivar u ocultar formularios
« Respuesta #1 en: 22 de Marzo de 2007, 03:23:41 pm »
De la manera que preguntas falta información, ¿qué clase de formulario es? ¿Un logueo? Si es un logueo se controla mediante cookies, habrá abierto una sesión y mediante esa sesión (ese tipo de sesiones se controlan mejor desde la BD) se controla qué ha de visualizar o no.

No sé si te he aclado algo, pero tampoco sé exactamente a qué te refieres.

Saluetes.
Condemnation , Tried , Here on the stand , With the book in my hand , And truth on my side
Accusations , Lies , Hand me my sentence , I'll show no repentance , I'll suffer with pride If for honesty , You want apologies , I don't sympathize...

Desconectado Rododendro

  • Junior Member
  • **
  • Mensajes: 95
Re: Desactivar u ocultar formularios
« Respuesta #2 en: 22 de Marzo de 2007, 06:45:31 pm »
Me refiero al formulario típico de toda la vida, ya sea de una sola línea de texto o de textarea, y desde el cual el usuario envía datos -nombre y apellidos, una opinión o lo que fuere-. Creo que tanto para evitar un uso repetido e indiscriminado del formulario como por conferirle un toque dinámico es una buena idea diseñarlo de tal modo que, una vez efectuado el envío de datos -corroborado por un mensaje a tal efecto-, quede oculto o desactivado. A grandes rasgos sé que para esto hay más de una vía posible: usar JavaScript para que el botón de envío y/o el campo de texto queden inutilizados mediante la posibilidad "disabled" ejecutada con un evento onSubmit, ubicar el formulario en una ventana que tras el envío y el mensaje de confirmación se cierra, etc. Lo que pasa es que me hago una idea sólo aproximada y no exacta del código preciso para aplicar alguna de esas soluciones, de ahí mi pregunta inicial. Supongo que en cualquier caso el remedio pasa necesariamente por JavaScript, aunque si alguien conoce otro método distinto y más fiable -a fin de cuentas el internauta puede deshabilitar el JavaScript-, me gustaría saberlo.

Desconectado halo

  • Pro Member
  • ****
  • Mensajes: 541
Re: Desactivar u ocultar formularios
« Respuesta #3 en: 22 de Marzo de 2007, 06:49:25 pm »
Si la página es dinámica puedes controlar quien ha usado ya el formulario mediante una cookie y al examinar la cookie decidir si quieres que escupa o no de nuevo el formulario. Yo tiraría antes por ahí que por JS. Con JS yo antes que deshabilitar botones tiraría de DOM.

Saluetes. :-d
Condemnation , Tried , Here on the stand , With the book in my hand , And truth on my side
Accusations , Lies , Hand me my sentence , I'll show no repentance , I'll suffer with pride If for honesty , You want apologies , I don't sympathize...

Desconectado Rododendro

  • Junior Member
  • **
  • Mensajes: 95
Re: Desactivar u ocultar formularios
« Respuesta #4 en: 22 de Marzo de 2007, 07:09:56 pm »
Soy principiante en todos estos asuntos, y el tema de los cookies me es casi desconocido. No obstante, y dado que lo mencionas, ¿es posible aplicar con las cookies un sistema automático para conseguir que el formulario, una vez utilizado, no pueda ser reutilizado por el usuario, ocultándolo después de su uso? Con "automático" me refiero a que funcione de continuo sin necesidad de controlar quién usa el formulario. Lo que no he entendido es a qué te refieres exactamente con "tirar de DOM".   

Desconectado halo

  • Pro Member
  • ****
  • Mensajes: 541
Re: Desactivar u ocultar formularios
« Respuesta #5 en: 22 de Marzo de 2007, 07:24:05 pm »
Sería muy poco efectivo, el usuario sólo tendría que borrar la cookie para repetir. Se puede, pero lo veo ineficaz.

DOM (te doy la versión práctica, al grano): a través de las distintas clases e ID´s del documento, y apoyándose en JS, el navegador puede ir modificando el documento. Imagínate que creas <div class="formulario" />. Una vez se use el botón haría una llamada a la una función JS que modificaría el contenido de ese div (puede dejarlo en blanco, poner "Gracias por participar"...).

Saluetes.  :-d
Condemnation , Tried , Here on the stand , With the book in my hand , And truth on my side
Accusations , Lies , Hand me my sentence , I'll show no repentance , I'll suffer with pride If for honesty , You want apologies , I don't sympathize...

Desconectado Rododendro

  • Junior Member
  • **
  • Mensajes: 95
Re: Desactivar u ocultar formularios
« Respuesta #6 en: 23 de Marzo de 2007, 06:17:05 pm »
Si no he entendido mal, lo que me recomiendas es meter el formulario en un DIV que tenga el id="divformulario" y otro DIV que fuese, por ejemplo, id="divmensaje", y en la marca FORM invocar un JavaScript para que se active con algo así como onSubmit="mostrar_mensaje();". ¿Va por ahí la cosa?

Desconectado halo

  • Pro Member
  • ****
  • Mensajes: 541
Re: Desactivar u ocultar formularios
« Respuesta #7 en: 23 de Marzo de 2007, 06:45:13 pm »
Yo lo que te recomiendo es que evites java si puedes hacerlo vía php (ambas maneras requieren el uso de cookies para controlar quién lo ha visto o quien no, bueno, salvo logueo, podrías almacenarlo en la BD).

Citar
meter el formulario en un DIV que tenga el id="divformulario" y otro DIV que fuese, por ejemplo, id="divmensaje", y en la marca FORM invocar un JavaScript para que se active con algo así como onSubmit="mostrar_mensaje();". ¿Va por ahí la cosa?

Podrías hacerlo con un no display, pero no iba por ahí, sustituyes el contenido de ese div. Donde está el formulario, una vez usado (tendrás que controlar quien lo ha usado con una cookie) aparece lo que tú quieras.

Para eso has de usar getElementById()

Saluetes. :-d
Condemnation , Tried , Here on the stand , With the book in my hand , And truth on my side
Accusations , Lies , Hand me my sentence , I'll show no repentance , I'll suffer with pride If for honesty , You want apologies , I don't sympathize...

Desconectado Rododendro

  • Junior Member
  • **
  • Mensajes: 95
Re: Desactivar u ocultar formularios
« Respuesta #8 en: 24 de Marzo de 2007, 12:59:34 pm »
El problema de JavaScript es que puede ser deshabilitado por el visitante. Ahora bien, ¿no podría asimismo el cibernauta burlar cualquier sistema de ocultación o deshabilitación (ya fuese JavaScript, PHP u otros) de un formulario simplemente retrocediendo hacia atrás con el navegador, o hay alguna manera de impedir esto?

Desconectado halo

  • Pro Member
  • ****
  • Mensajes: 541
Re: Desactivar u ocultar formularios
« Respuesta #9 en: 24 de Marzo de 2007, 03:50:11 pm »
Con PHP, almacenando la información en una BD, es más jodido de burlar. Con un sistema de logueo es sencillo, cada usuario puede usar el formulario las veces que tú quieras. Si no quieres logueo puedes almacenar las IP´s, por ejemplo, dándoles caducidad (por aquello de las IP´s dinámicas).

Saluetes. :-d
Condemnation , Tried , Here on the stand , With the book in my hand , And truth on my side
Accusations , Lies , Hand me my sentence , I'll show no repentance , I'll suffer with pride If for honesty , You want apologies , I don't sympathize...

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License