scriptaculous-como componente para evitar la doble-presentar
-
22-09-2019 - |
Pregunta
Estoy buscando un script para evitar que el usuario golpear el botón de enviar dos veces especialmente para las formas de procesamiento de fondo mucho tiempo. Me gustaría poner en práctica algo no sólo funcional, sino también visualmente atractivo. ¿Alguien puede compartir algunos consejos de cómo lograr esto utilizando, por ejemplo, scriptaculous?
Gracias
Solución
No es scriptaculous, pero siempre lo hizo así:
HTML:
<form onsubmit="return checkDoubleSubmit(this) && yourSubmitroutine();">
<input ...>
...
<input type="hidden" value="0" id="dscheck">
</form
Javascript:
function checkDoubleSubmit(form) {
var v = 0;
var e = form.getElementById("dscheck");
if (e != null) {
v = e.value;
v = v * 1; // Coerce to number
e.value = "1";
}
return v == 0;
}
Otros consejos
El uso de prototipo se puede intentar algo como esto:
var DoubleSubmit = {
prevent: function(){
var forms = document.body.select('form');
forms.invoke('observe', 'submit', DoubleSubmit.observeSubmit);
},
observeSubmit: function(event){
var submitButtton = event.element().select('input[type="submit"]')[0];
submitButtton.disable();
return true;
}};document.observe('dom:loaded',DoubleSubmit.prevent);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow