2011-10-01 3 views
1

내가 양식이 제출 될 때이 버튼을 제출하지 않으려면 다음과 같은 코드가 있습니다 이것에 대한 더 간결한 구문양식 제출시 제출 단추를 사용 불가능하게하는보다 간결한 jQuery 구문이 있습니까?

$('#myform').submit(function(){ 
    $('input[type=submit]', this).attr('disabled', 'disabled'); 
}); 

거기를?

+0

왜 당신은 무엇이 잘못 되었습니까? 그것은 간결합니다. – Shef

+0

나는 어떤 종류의'disabled()'함수를 원했다. – arezzo

+0

아니요, 그런 함수는 없지만'$ ('input [type = submit]', this) .prop ('disabled', true);'충분히 명확합니다. :) – Shef

답변

2

jQuery disable plugin. 당신이 플러그인을하지 않으려면

$('input').disable(); //disables 
$('input').enable(); //enables 
$('input').toggleDisabled(); //toggles 
$('input').toggleEnabled(); //toggles 
$('input').toggleDisabled(true); //disables 
$('input').toggleEnabled(true); //enables 

또는, 당신은이를 사용할 수 있습니다

jQuery.fn.disable = function() { 
    $(this).prop("disabled", true); 
}; 

$('input[type=submit]', this).disable(); 
+1

이 간단한 작업을위한 플러그인은 무엇입니까? 공유지. :) – Shef

+0

'.attr()'이 아닌'disabled' 속성을 설정하려면'.prop()'를 사용해야합니다. – Shef

+0

비 플러그인 솔루션이 완벽합니다. 감사. – arezzo

0

한 청소기 버전이 될 수 있습니다 :

$(this).find(':submit').attr('disabled', true); 

$(this).find(':submit').prop('disabled', true); 
+0

이것은 좋은 아이디어가 아니라 시즐을 포함합니다. – Shef

1
$('#myform').submit(function(){ 
    $('input[type=submit]', this).prop('disabled', true); 
}); 

그것은 이것보다 더 간결 얻을 수 없습니다. 그것은 충분히 깨끗합니다. 내가 $.attr()$.prop()으로 변경했습니다. 이는 요소의 상태는 변경하지만 속성 자체는 변경하지 않고 값을 설정하고 가져 오는 데 사용해야하기 때문입니다. 워드 프로세서

다음 .prop() 방법을 사용하지 설정하는 대신 .attr() 방법을 확인해야

.

+0

확인. 방금 읽은 문서를 읽었습니다. 당신이 속성이나 속성을 다루는 지 어떻게 알 수 있습니까? docs에 언급 된 예제들 중 어느 것도'disabled'를 포함하지 않습니다. '속성'이 아닌게 확실합니까? – arezzo

+0

@arezzo [예, 할 수 있습니다] (http://api.jquery.com/prop/#prop2). 나는 당신을 문서에서 인용하고 있습니다. CTRL + S를 눌러 텍스트가 인용 된 위치를 쉽게 찾을 수 있습니다. – Shef

2

글쎄, 내가 먼저, 그에게 ID를 줘야 할 것, 그렇지 않으면 당신은 을 해제합니다 모든 제출 버튼. 의도 한 것일 수도 있고 아닐 수도 있습니다.

disable plugin을 사용하려는 경우가 아니면 that's about it이 아닙니다.

관련 문제