composant scriptaculous comme pour éviter la double soumettre
-
22-09-2019 - |
Question
Je cherche un script pour empêcher l'utilisateur d'appuyer sur le bouton soumettre deux fois spécialement pour les formes de traitement de fond de longue date. Je voudrais mettre en œuvre quelque chose non seulement fonctionnel mais aussi visuellement attrayant. Quelqu'un peut-il partager quelques conseils sur la façon d'y parvenir en utilisant, par exemple, scriptaculous?
Merci
La solution
Il est pas scriptaculous, mais je l'a toujours fait comme ceci:
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;
}
Autres conseils
En utilisant prototype, vous pouvez essayer quelque chose comme ceci:
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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow