O próprio Struts2 fornece um mecanismo de verificação para envios repetidos, mas o que eu quero não é abrir uma página de erro, mas tratá-la como se nada tivesse acontecido e realizar apenas um envio
1. Defina uma variável, defina uma variável e permita apenas um envio. submissão.
<script type="texto/javascript">
função verificarEnviar() {
if (checkSubmitFlg == verdadeiro) {
retornar falso;
}
checkSubmitFlg = verdadeiro;
retornar verdadeiro;
}
</script>
<form onsubmit="return checkSubmit();" method="post">
O método 1 é eficaz no IE6 e no FIREFOX
2. Desative o botão Como nosso servidor é muito lento, o botão fica cinza, dando aos usuários. uma experiência melhor
<script type="text/javascript">
function desativarEnviar(formulário) {
var elementos = form.elements;
for (var i = 0; i <elementos.comprimento; i++) {
if (elements[i].type == 'enviar') {
elementos[i].disabled = verdadeiro;
}
}
}
</script>
<form name="form1" onsubmit="setTimeout('disableSubmit(form1)',100) return checkSubmit();" method="post">
Se você desativá-lo imediatamente, as configurações de ação individuais do botão se tornará inválido, portanto o Método 2 para adicionar um atraso é válido no IE6. Inválido no FIREFOX, motivo desconhecido. Mas é o segundo seguro de qualquer maneira, então não importa.
Artigo de referência
http://blog.csdn.net/LoveYou1999/archive/2007/02/02/1501295.aspx
http://www.takka.com.hk/jstutor/ch10/ch10.htm