Struts2 lui-même fournit un mécanisme de vérification pour les soumissions répétées, mais ce que je veux, ce n'est pas afficher une page d'erreur, mais la traiter comme si de rien n'était et n'effectuer qu'une seule soumission
. 1. Définir une variable, définir une variable et en autoriser une seule. soumission.
<script type="text/javascript">
fonction checkSubmit() {
si (checkSubmitFlg == true) {
renvoie faux ;
}
checkSubmitFlg = vrai ;
renvoie vrai ;
}
</script>
<form onsubmit="return checkSubmit();" method="post">
La méthode 1 est efficace sur IE6 et FIREFOX
2. Désactivez le bouton Parce que notre serveur est trop lent, le bouton devient gris, ce qui donne aux utilisateurs. une meilleure expérience
<script type="text/javascript">
fonction désactiverSoumettre(formulaire) {
var éléments = form.elements;
pour (var i = 0; i < elements.length; i++) {
if (elements[i].type == 'soumettre') {
éléments[i].disabled = true;
}
}
}
</script>
<form name="form1" onsubmit="setTimeout('disableSubmit(form1)',100) return checkSubmit();" method="post">
Si vous le désactivez immédiatement, les paramètres d'action individuels du bouton deviendra invalide, donc la méthode 2 pour ajouter un délai est valide dans IE6. Invalide sur FIREFOX, raison inconnue. Mais c’est de toute façon la deuxième assurance, donc ça n’a pas d’importance.
Article de référence
http://blog.csdn.net/LoveYou1999/archive/2007/02/02/1501295.aspx
http://www.takka.com.hk/jstutor/ch10/ch10.htm