مكون يشبه scriptaculous لتجنب تقديم مزدوج
-
22-09-2019 - |
سؤال
أنا أبحث عن برنامج نصي لمنع المستخدم من الضغط على زر الإرسال مرتين بشكل خاص لنماذج معالجة الخلفية لفترة طويلة. أرغب في تنفيذ شيء ليس وظيفيًا فحسب ، بل جذابة بصريًا أيضًا. هل يمكن لأي شخص أن يشارك بعض النصائح حول كيفية تحقيق ذلك باستخدام ، على سبيل المثال ، scriptAcoubed؟
شكرًا
المحلول
هذا ليس نصفيًا ، لكنني دائمًا ما فعلت ذلك مثل هذا:
لغة البرمجة:
<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;
}
نصائح أخرى
باستخدام النموذج الأولي ، يمكنك تجربة شيء مثل هذا:
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);
لا تنتمي إلى StackOverflow