사용자가 페이지에서 둘 이상의 다시 게시 요소를 클릭하지 못하게하려고합니다. 즉, '계속'제출 버튼을 클릭하면 원래 요청이 다시 오기 전에 다른 다시 게시가 발생해서는 안됩니다.내 페이지의 모든 버튼과 링크를 비활성화 할 수 있지만 어떻게하면 다시 게시 할 수 있습니까?
jQuery 코드에는 두 가지 버전이 있습니다.
이 버전에서는 모든 포스트 백 요소를 사용할 수 없게되지만 클릭하면 해당 요소가 실행되지 않습니다. 기록을 위해, 나는 .removeAttr('onclick')
이 정말로 필요하다고 생각하지 않지만 그것을 떠나는 것은 행동을 바꾸는 것처럼 보이지 않는다.
$(function() {
$('a, :button, :submit').click(function() {
var elements = $('a, :button, :submit');
elements.attr('disabled', 'disabled').removeAttr('onclick');
});
});
이 버전은 모든 다른 다시 게시 요소를 비활성화하지만 내가 클릭 한 같은 요소를 다시 사용할 수 있습니다 - 내가 두 번 같은 버튼을 누르면 할 수 싶지 않아요.
$(function() {
$('a, :button, :submit').click(function() {
var otherelements = $('a:not(#' + $(this).attr('id') + '), :button:not(#' + $(this).attr('id') + '), :submit:not(#' + $(this).attr('id') + ')');
elements.attr('disabled', 'disabled').removeAttr('onclick');
});
});
이 동작을 어떻게 막을 수 있습니까?
두 번째 접근 방식에 혼란 스럽습니다 ... 일부 오타가 있습니까? – Reigel
아니요, 오타가 없습니다. 모든 앵커, 버튼 및 트리거 버튼을 제외하고 버튼을 가져 오는 것은 (비효율적 인) 방법 일뿐입니다. – Damovisa