2014-05-19 2 views
0

다양한 제출 href 버튼이있는 응용 프로그램에 GAE를 사용하고 있으며 javascript를 사용하여 제출합니다.이중 제출 금지

여러 번 제출하거나 두 번 클릭하는 것을 방지하는 방법을 알아 내려고 정말 힘들어합니다. 나는 비활성화하거나 자바 스크립트와 href를 제거하는 다양한 방법을 시도했다.

하지만 백엔드에서이를 막을 수있는 방법이 있다면 어떨까요.

내가 사용하는 어떤 방법을 권하고 싶습니까?

답변

1

서버 측에서이를 방지하는 것은 쉬운 일이 아닙니다. 두 번째 호출이 다른 인스턴스에 충돌 할 수 있습니다. 따라서 세션을 처리해야합니다. 코드가 복잡해질 것입니다.

통화하기 전에 버튼을 비활성화하고 응답시 다시 활성화하는 것이 좋습니다.

0

양식을 제출할 때 자바 스크립트를 사용하여 페이지의 모든 제출 버튼을 비활성화 할 수 있습니다. 이 같은 아마 뭔가 : 당신은 또한 다른 요소를 해제해야하는 경우

document.forms[0].addEventListener('submit', function() { 
    var btns = document.querySelectorAll('input[type="submit"]'); 
    for (var i = 0; i < btns.length; i++) { 
     btns[i].disabled = 'disabled'; 
    } 
}); 

당신은 querySelector을 수정할 수 있습니다.