La semana pasada me han llegado dos problemas iguales de dos webs diferentes (espero que realizadas por dos programadores distintos).
En un caso, un ecommerce y en otro una web a medida.
El problema era el mismo. Se enviaba dos veces un formulario desde la pagina y se duplicaba la accion, porque tardaba mucho y el usuario no sabía lo que estaba pasando y hacía click otra vez.
Es lo que tiene hacer un desarrollo sin aplicar los patrones de diseño básico y salir asi al publico.
Al pulsar un botón se enviaba el formulario sin hacer recarga de la pagina (con JavaScript, mediante ajax) y hasta que no acaba el proceso, habia que esperar y confiar.
Solución: implementar semáforos, un patron de diseño clásico que cada vez veo menos y es muy sencillo de aplicar.
Un ejemplo sencillo consiste en aplicar una clase al botón de envío que lo deshabilite muestre un icono animado de carga al enviar. Y luego quitarsela en el ok y en el ko de la petición.
Más soluciones? Cuales son las vuestras?