Tengo un formulario con una matriz de campos de texto. El usuario (a través de javascript) puede agregar una cantidad arbitraria de campos de texto al formulario. Después de enviar el formulario y presionar el botón Atrás, el formulario solo se muestra con los campos que estaban en el formulario original cuando se procesó por primera vez (cualquier campo de texto agregado se pierde). ¿Cuál es la mejor manera de permitir que el botón Atrás muestre el formulario en el estado cuando el usuario lo envió? Cualquier ideas son bienvenidas, algunas cosas que he probado son:Controlador de botón posterior Un formulario dinámico
- puso a los datos del formulario en una cookie (esto no funciona grande para un par razones, pero la principal causa de muerte para mí es que las galletas son limitado a 4K en tamaño)
- puso a los datos del formulario en una sesión
- Envíe el formulario a través de AJAX y luego administrar la historia
Gracias por la ayuda. He publicado un formulario de prueba en mi sitio web al http://fishtale.org/formtest/f1.php. También aquí es una forma sencilla que exhibe el comportamiento que he mencionado:
<form action="f2.php" method="post">
<input type="text" name="text[]" id="text1"/>
<input type="submit" name="saveaction" value="submit form" />
</form>
<a href="f2.php" id="add_element">Add Form Element</a>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" ></script>
<script type="text/javascript" >
$('#add_element').click(function (event) {
event.preventDefault();
$('#text1').after('<input type="text" name="text[]" />');
});
</script>
Esto es similar a una pregunta que he publicado hace un tiempo, Best Way For Back Button To Leave Form Data, sin embargo, los elementos de este formulario son modificados por el usuario.
Hola Brian, ¿te opones a usar una cookie temporal para almacenar los valores? ¿Cuántos campos agregarían generalmente sus usuarios? Proporcionaré código si esto incluso suena remotamente como una buena solución. –
Hola Doug, Los usuarios están creando una tarjeta de tiempo, por lo que pueden estar agregando bastantes elementos del orden de 100. No estoy seguro si me opongo a las cookies temporales, si funcionan, soy todo para ellos . Creo que pueden causar problemas para las otras cookies si el tamaño total de las cookies supera el 4K máximo. Gracias. –