2010-02-25 93 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);