2010-02-25 62 views
0

我正在寻找一个脚本,以防止用户长时间点击提交按钮两次后台处理表单。我想实现一些不仅功能强大但视觉上吸引人的东西。任何人都可以分享一些关于如何使用它的技巧,例如scriptaculous?scriptaculous样组件避免双重提交

感谢

回答

0

这不是Scriptaculous的,但我一直做的是这样的:

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; 
} 
1

使用的原型,你可以尝试类似这个:

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);