2010-07-04 17 views
9

Esta es una pregunta bastante simple (supongo). Probablemente un repost, pero no pude encontrar la respuesta aquí ... así que aquí vamos.Casilla de verificación Permanece activada en la página Actualizar

Tengo una casilla de verificación en una página que quiero establecer como "desactivada" de forma predeterminada (a menos que especifique lo contrario en mi php).

Cuando actualizo la página, si la casilla está marcada, se mantendrá marcada que no es bueno porque al marcar la casilla se agrega un elemento dom a mi página a través de una función adjunta al cuadro. El problema es que si actualizo, la casilla sigue activada, pero el elemento dom no existe (porque no he activado la función y no quiero, a menos que el usuario marque la casilla de verificación) pero la casilla está YA comprobado y termino en tierra opuesta donde UN marcando la casilla crea mi elemento dom y comprobando que lo elimina.

Básicamente, la pregunta es ...

¿Hay una manera de defecto en una casilla para marcar sin javascript?

Por cierto no he comprobado (sin doble sentido) en cualquier navegador que no sean FF 3.5.10

+1

Trabajando hacia atrás aquí ... ¿cómo consigues que la casilla de verificación permanezca marcada después de una actualización? Mi formulario se borra, y realmente quiero que guarde los datos. Tengo un problema donde un captcha mal escrito borra mi forma, y ​​no estoy seguro de cómo resolverlo. – creativeedg10

Respuesta

9

Ver http://weblogs.mozillazine.org/gerv/archives/2006/10/firefox_reload_behaviour.html (primer comentario):

Se ha hecho así a propósito por lo que si se toca el botón de actualización que no hacer pierde tu trabajo Hay una entrada en Bugzilla en algún lugar que es sido WONTFIXed pidiendo una actualización regular para siempre restablecer el formulario por completo. Básicamente es una cosa de compatibilidad con versiones anteriores: cada navegador desde NS1.0 (tal vez incluso Mosiac) lo ha hecho.

Las páginas generadas dinámicamente ni siquiera se reinician a sí mismas, aunque si la caducidad de se establece en 0 y presionas el botón Atrás obtendrás un formulario actualizado. Además, si el formulario en sí mismo cambia (agrega o elimina elementos, cambia la acción, etc.), se reiniciará en una recarga. No lo he probado , pero establecer el nombre del formulario en algo aleatorio (suponiendo que no necesita el nombre para acceso JS) podría funcionar. Me gusta "> en PHP.

Como dijo, forzando una actualización borra el formulario y al reiniciarlo también hace . ¿Algo así como lo que quiere (nuevamente, no probado)?

+0

bien entonces, ahí tienes. ¡Maldito FF!(Es una broma, me encanta FF, ojalá todos usaran FF) –

+1

Sí, lo que es molesto para los desarrolladores web es, desafortunadamente, un comportamiento deseado para los usuarios de la web. Hubo muchas ocasiones en las que accidentalmente recargué una página mientras escribía una publicación larga y estaba agradecido de que Firefox conservara los datos de mi formulario. –

3

Claro:

document.getElementById('my_checkbox').checked = false; 

Vaya, me perdí la parte de ningún JS. Hasta donde yo sé, Firefox conserva el estado de la página en la actualización, así que supongo que no hay otra manera.

+0

Sí, odio agregar más javascript a mi página, ya que voy a agregar algunas para VERIFICAR ciertas cajas. Creo que puedo ocuparme de todo eso a la vez, pero me gustaría comenzar con una borrón y cuenta nueva. –

6

esto funciona para decir autocomplete = "off"

Cuestiones relacionadas