Struts2 en sí proporciona un mecanismo de verificación para envíos repetidos, pero lo que quiero no es que aparezca una página de error, sino tratarlo como si no hubiera sucedido nada y solo realizar un envío
1. Establecer una variable, establecer una variable y solo permitir una. envío.
<tipo de script="texto/javascript">
función verificarEnviar() {
si (checkSubmitFlg == verdadero) {
devolver falso;
}
checkSubmitFlg = verdadero;
devolver verdadero;
}
</script>
<form onsubmit="return checkSubmit();" método="post">
El método 1 es efectivo en IE6 y FIREFOX
2. Deshabilite el botón Debido a que nuestro servidor es demasiado lento, el botón se vuelve gris, lo que brinda a los usuarios. una mejor experiencia
<script type="text/javascript">
función desactivarEnviar(formulario) {
var elementos = formulario.elementos;
for (var i = 0; i < elementos.longitud; i++) {
if (elementos[i].tipo == 'enviar') {
elementos[i].disabled = verdadero;
}
}
}
</script>
<form name="form1" onsubmit="setTimeout('disableSubmit(form1)',100) return checkSubmit();" método="post">
Si lo desactiva inmediatamente, la configuración de acción individual del botón dejará de ser válido, por lo que el método 2 para agregar un retraso es válido en IE6. No válido en FIREFOX, motivo desconocido. Pero de todos modos es el segundo seguro, así que no importa.
Artículo de referencia
http://blog.csdn.net/LoveYou1999/archive/2007/02/02/1501295.aspx
http://www.takka.com.hk/jstutor/ch10/ch10.htm