Estoy usando algunos jquery para deshabilitar un botón de envío de formularios después de haber hecho clic para evitar clics repetidos accidentales. Esto funciona bien en todos los navegadores excepto en Firefox. En Firefox, si el usuario usa el botón Atrás del navegador para volver a una página luego de que se haya producido la desactivación del botón de enviar, el botón de enviar aún está desactivado. ¿Hay alguna solución a este problema?El botón de envío de formularios permanece deshabilitado cuando se usa el botón Atrás en Firefox
Respuesta
Si un navegador tiene el almacenamiento en caché desactivado, la página se volverá a cargar como si nada hubiera sucedido (no se hizo clic en ningún botón).
Si desea el lado del cliente, puede utilizar una cookie.
Ahora, si tiene una tecnología de servidor (PHP/Rails), puede poner el valor en la variable de sesión.
$(document).ready(function() {
$('input[type=submit]', this).attr('disabled', false);
$('#myform').submit(function(){
$('input[type=submit]', this).attr('disabled', true);
});
});
Al utilizar jQuery, esto no desactivará el botón al utilizar el botón de retroceso en el navegador. Probado en FF 3.5.
En realidad esto no es correcto - $ (documento). Listo() no se disparará cuando se presiona el botón Atrás; ni tampoco ningún guión en línea. Lo mejor es usar el evento window.onpageshow, aunque si necesita soportar IE10 o menos, no tiene suerte. Más información aquí: https://stackoverflow.com/questions/2638292/after-travelling-back-in-firefox-history-javascript-wont-run/2639165#2639165 – Chris
Un pequeño apéndice de mi comentario anterior: esto se aplica solo a los navegadores modernos, que almacenarán en caché toda la página (incluidas las ediciones realizadas mediante scripts). Por lo tanto, la respuesta anterior de Erik probablemente habría sido correcta en el momento en que se publicó, y seguirá funcionando en IE10 y en versiones anteriores, pero si encuentra esta respuesta en 2017 o después, tenga cuidado. – Chris
Probablemente, se debe añadir autocompletar = parámetro "off" a su forma
<form autocomplete="off">
<input type="submit" />
</form>
Es extraño para mí que Firefox considere el estado de un botón como parte de "autocompletar" ... pero de todos modos, gracias por la solución limpia. Por cierto, esto ocurre no solo al volver con el navegador, sino al intercambiar una nueva versión del formulario a través de Ajax. – lawrence
Diría que esta respuesta debe ser aceptada. –
No funciona para mí (Firefox 54) –
- 1. Seleccionar el menú que no se restaura cuando se usa el botón Atrás
- 2. negociación contenido ignorado cuando se utiliza el navegador botón Atrás
- 3. Cómo manejar el envío de formulario ASP.NET MVC Botón Atrás?
- 4. ¿Cómo realizo la página de recarga de Firefox cuando se presiona el botón Atrás?
- 5. guarda el estado cuando se presiona el botón Atrás
- 6. Interceptar el botón Atrás
- 7. El botón de envío de formulario no se enviará cuando el nombre del botón sea "enviar"
- 8. Volver a cargar la página cuando se visita haciendo clic en el botón Atrás en Firefox
- 9. Clase de Div no persiste cuando se usa el botón 'atrás'
- 10. El botón de navegación hacia atrás no se muestra, cómo agregar el botón Atrás a UINavigationItem
- 11. setResult no funciona cuando se presiona el botón ATRÁS
- 12. ¿Cómo elimino una actividad cuando se presiona el botón Atrás?
- 13. onStop() no se llama cuando presiono el botón Atrás
- 14. Botón Deshabilitar en el envío del formulario
- 15. Android - Simular el botón Atrás
- 16. desactivar el botón de enviar cuando JavaScript está deshabilitado
- 17. Borrar el foco EditText cuando se presiona el botón Atrás cuando el teclado está mostrando
- 18. Cómo desencadenar un cambio cuando se usa el botón Atrás con history.pushstate y popstate?
- 19. ¿Cómo se dirige el estado deshabilitado de un botón de envío?
- 20. jQuery Plugin Validación detener el envío de formularios, botón de envío no funcionará
- 21. Deshabilitar el botón Atrás en el navegador
- 22. cómo desactivar el botón Atrás en Android
- 23. Desinstalar un complemento Eclipse cuando el botón "Desinstalar ..." está deshabilitado
- 24. JSF commandLink, POSTing y el botón Atrás
- 25. android: botón de volumen anulado ha afectado el botón Atrás?
- 26. Complemento de Firefox add 2px en un botón de envío
- 27. botón personalizado: cambiar el estilo cuando se pulsa el botón
- 28. IFrame Botón Atrás
- 29. Firefox agrega 1px en mi botón de envío
- 30. El botón Atrás de UINavigationController desaparece?
Se puede publicar su código? – ryanulit
Agregue un controlador de descarga vacío. La razón se discute en esta pregunta relacionada: [Evento de carga entre navegadores y botón Atrás] (http://stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button/201406) – user240515