Usabilidad en formularios web
Sábado , 9 de Octubre de 2004. Enrique Barbeito García
Vía más que código me entero de una sencilla manera de conseguir un poco de usabilidad a la hora de crear formularios web.
Concretamente la idea se centra en los botones utilizados para enviar la información del formulario. Como bien comenta Juanjo, a la hora de iniciar el proceso de envío (es decir, a la hora de pulsar sobre el botón) éste puede darse el caso de que tarde cierto tiempo: el suficiente como para que el usuario crea oportuno volver a pinchar sobre el botón, repitiendo (y duplicando) así el envío.
Os recomiendo la lectura de su anotación, acompañada con un ejemplo y mas información ;-) La solución a este problema es evitar que el usuario pueda pulsar nuevamente el botón: desactivándolo.
<input type="submit" name="submit" value="Enviar" onClick="this.value='Espere...';this.disabled=true;this.form.submit()" />
Este código serviría para reemplazarlo por el actual botón que viene por defecto en WordPress y que, a la hora de enviar comentarios, el botón de “Enviar” pase a un estado inactivo y con el valor “Espere…”
Lo acabo de poner, a ver qué tal. Sería ponerle un poco de CSS por encima y quedaría ni que pintado jeje
Esto es una prueba …
[ actualización : parece que va bien. Muchas gracias Juanjo :) ]
Eso lo tienen los de bandaancha.st no? Creo que era ahí donde hace eso mismo, que al pulsarlo se deshabilita.
Hola Sergio. Sí, el mecanismo sí que es el mismo; lo que no sé es si la implementación será también la misma.
Saludos
Como es de tipo submit el botón ¿si tengo desactivado JavaScript si se enviaría el formulario?
Otra posible solución es controlar que no llegue algo duplicado en el servidor. Funcionaría también en navegadores sin JavaScript o con él desactivado. Se podría comprobar si todos los campos son iguales o creando un campo clave único de forma que si se reciben dos formularios con ese campo clave iguales es que es un duplicado.
Yo lo digo por barajar posibilidades simplemente ;)
Gracias, Enrique.
Ya ves que la idea no es mía.
Sergio, tal y como lo ha puesto Enrique (con un elemento tipo submit) seguro que funcionará sin javascript (por supuesto, el efecto de desactivado no funcionará). Lo que no tenía muy claro es si se producía doble submit (uno del botón y uno del código javascript), me imagino que no. Por eso yo lo puse en un elemento button.
Otra posibilidad es poner el código que desactiva el botón en el evento onsubmit del form.
Un saludo.
nanamasn ksdsan
Hay un nuevo servicio para crear formularios web de manera sencilla y rápida que les podría interesar. Para mayores detalles pueden checar: http://www.phantomezform.com/