2011-05-03 6 views
4

버튼을 클릭 한 즉시 버튼을 비활성화하고 싶으므로 사용자가이 버튼을 두 번 연속해서 짧게 클릭하여 OnClick_Event를 두 번 연속 실행할 수 없습니다. btn.Enabled = false은 즉시 트릭을 수행하지 않는 것 같습니다. 이 작업을 수행 할 수있는 다른 방법이 있습니까?클릭시 즉시 버튼을 사용 중지 하시겠습니까?

감사합니다,

데니스

답변

6

당신이 다시 때문에 당신의 버튼을 브라우저가 응답을받을 때 렌더링거야 페이지에 사용할 수 없습니다 게시물 후에 해제됩니다하고 있습니다.

대신 자바 스크립트와 클라이언트 측에 그것을 수행

var button = document.getElementById('yourButton'); 
button.disabled = true; 

이 문서 확인, 서버에 다시 게시 문제를 직면하는 경우 : How to disable an ASP.NET button when clicked합니다.

+0

내가 this'd 대답을 할 수 두려워, 나는 다음의 OnClick 메서드를 호출 얼마나 정확히은 서버 측-의 OnClick을 덮어 쓸 것 때문이다. –

+0

다음을 확인하십시오 : http://weblogs.asp.net/jeffwids/archive/2009/10/06/how-to-disable-an-asp-net-button-when-clicked.aspx –

+0

그냥 여기에서 유치하고, 그러나 "Serverside-OnClick"과 같은 것은 없습니다. ASP.NET은 버튼에 연결되는 JavaScript를 생성하여 ASP.NET이 서버에 사용하는 단일

을 제출하고 POST 데이터의 모든 양식 데이터를 전송하도록합니다. –

0

단추의 Onclick 이벤트의 모든 기능 끝에 btn.Enabled= false을 작성하십시오. 필요한 작업을 수행합니다.

+0

불행히도, 아니요, 이런 일이 일어나기 전에 적어도 5 ~ 7 번 이상 클릭 할 수 있습니다. –

+0

아니요, 이것이 OP가했던 것과 정확히 같습니다. 클라이언트 측이 아닌 서버 측에서 수행했기 때문에 OP가 그랬지만 작동하지 않았습니다. –

3
function disable() 
{ 
var button = document.getElementById('<%= Button1.ClientID %>'); 
button.disabled = true; 
} 

<asp:Button ID="Button1" OnClientClick="disable();"> 
3

당신이 자바 스크립트

function Disable(btn) 
{ 
btn.disabled = true; 
} 

을 통해이를 달성하고 버튼이 추가 할 수 있습니다 OnClientClick = "자바 스크립트 : 사용 안 함 (이)을 반환;"

0

버튼을 사용 중지하면 문제가 발생합니다. 서버 측 이벤트가 시작되지 않습니다. 그래서 버튼을 숨겨서 대안을 찾아보십시오 (예 : 친숙한 오류 메시지 '작업 중', '처리 중'등). disable asp.net button on postback하는 방법에 운동은 도움이 될 것입니다. 감사.

2

당신은이 코드로 간단히 처리 할 수 ​​있습니다. 여기에 btnAdd라는 버튼이 있습니다.이 버튼을 클릭하면 해당 코드를 실행하기 때문에 비활성화 될 것입니다. 다시 게시 할 수 없기 때문에 비활성화됩니다. 이 도움이

if (!IsPostBack) 
    { 
    btnAdd.Attributes.Add("onclick", "this.disabled=true;" + GetPostBackEventReference(btnAdd).ToString()); 
    } 
0
YourButton.Enabled = false; 

if(!YourButton.Enabled) 
{ 
\\Your Code Here 
YourButton.Enabled = true; 
} 

희망)

관련 문제