Manejo de la doble pulsación en el cliente utilizando JavaScript

El principal objetivo de esta característica de manejo de doble pulsación es impedir que la misma petición se procese dos veces. La implementación del servidor lo hace identificando la petición repetida; sin embargo, se recomienda implementar el manejo de la doble pulsación utilizando JavaScript en el cliente.

Nota: Aunque el atributo de esta referencia es denomina doble pulsación, es importante tener en cuenta que también da soporte a la función varias pulsaciones.Es decir, el soporte no está limitado exactamente a una pulsación adicional, sino a muchas pulsaciones adicionales.

En el contenido HTML enviado al cliente que permite enviar peticiones, se puede utilizar una pequeña función de validación JavaScript para comprobar si ya se ha enviado la petición y, en caso afirmativo, impedir que el comprador en línea envíe de nuevo la petición. Esta función de validación JavaScript comprobará el distintivo global para ver si se ha enviado la petición y, si se ha enviado, no la vuelve a enviar. Si la característica de doble pulsación está inhabilitada en el servidor, es sumamente recomendable que las páginas JSP y HTML implementen esta prevención JavaScript.

El siguiente ejemplo impide enviar el formulario más de una vez mediante la acción onSubmit() del objeto formulario:


...
<script>
var requestSubmitted = false;
       function submitRequest() {
              if (!requestSubmitted ) {
                     requestSubmitted  = true;
                     return true;
              }
              return false;
       }
</script>
...
 
       <FORM method="POST" action="Logon"
onSubmit="javascript:submitRequest()">
              ......
       </FORM>