Modifier: Ce que je dois vraiment savoir, c'est s'il y a un événement javascript qui se déclenchera de manière fiable lorsque l'utilisateur arrive à la page via le bouton de retour. J'ai essayé l'événement onload
pour l'élément body
, mais il ne se déclenche pas sur Firefox ou Safari.Puis-je détecter lorsqu'un utilisateur accède à une page à l'aide du bouton Précédent?
Je travaille avec un vieux code qui tente d'éviter la double soumission des données de formulaire en désactivant tous les boutons de soumission de formulaire dès que l'utilisateur clique sur l'un (en écoutant l'événement onSubmit du formulaire). Ce code est appliqué à tous les formulaires de l'application, que la double-soumission soit ou non un problème.
Le problème est que si l'utilisateur appuie sur le bouton de retour dans Firefox ou Safari, tous les boutons de soumission sont toujours désactivés lorsqu'il accède à la page. Sur Firefox, ils sont même désactivés après un rafraîchissement (seul un rafraîchissement Ctrl + F5 le fera)!
J'ai essayé d'écouter body
l'événement onLoad
, mais FF et Safari ne se déclenchent pas lorsque vous arrivez à la page via le bouton de retour. (Fait intéressant, il est tiré sur un rafraîchissement doux sur FF, même si le bouton reste désactivé.)
Voici un document HTML très simple qui montrera ce que je veux dire:
<html><body>
<form name="theForm" id="theForm" action="test2.html"
onSubmit="document.theForm.theButton.disabled = true;">
<input id="theButton" type="submit" name="theButton" value="Click me!" />
</form>
</body></html>
Note: J'ai testé sur WinXP avec IE8, FF3.5, Safari 4, Opera 9 et Chrome 2.0. Seuls Safari et FF désactivent le bouton lorsque vous revenez pour les atteindre.
avez-vous essayé ma réponse? – Eric
oui, j'ai ajouté un commentaire ci-dessous (désolé, je faisais cela au travail et il était temps de rentrer à la maison) – Kip
Dupliquer de http://stackoverflow.com/questions/54539/prevent-use-of-the-back- button-in-ie et beaucoup, beaucoup d'autres. Rechercher http://stackoverflow.com/search?q=back+button –