사용자가 장시간 백그라운드 처리 양식에 대해 제출 단추를 두 번 누르는 것을 방지하는 스크립트를 찾고 있습니다. 기능적인 것뿐만 아니라 시각적으로 매력있는 것을 구현하고 싶습니다. 아무도 예를 들어, scriptaculous를 사용하여 이것을 달성하는 방법에 대한 몇 가지 팁을 공유 할 수 있습니까?이중 제출을 피하기위한 스크립트와 같은 구성 요소
감사
사용자가 장시간 백그라운드 처리 양식에 대해 제출 단추를 두 번 누르는 것을 방지하는 스크립트를 찾고 있습니다. 기능적인 것뿐만 아니라 시각적으로 매력있는 것을 구현하고 싶습니다. 아무도 예를 들어, scriptaculous를 사용하여 이것을 달성하는 방법에 대한 몇 가지 팁을 공유 할 수 있습니까?이중 제출을 피하기위한 스크립트와 같은 구성 요소
감사
그것은 script.aculo.us의 건 아니지만, 난 항상 이런 식으로했다 :
HTML :
<form onsubmit="return checkDoubleSubmit(this) && yourSubmitroutine();">
<input ...>
...
<input type="hidden" value="0" id="dscheck">
</form
자바 스크립트 :
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);