0

저는 부트 스트랩을 사용하고 있습니다. http://getbootstrap.com/javascript/#buttons-stateful버튼 로딩 상태 Asp.net JavaScript

<asp:Button ID="Button1" runat="server" Text="Send It" data-loading-text="Loading..." class="btn btn-primary" autocomplete="off" /> 

    <script> 
     $('#Button1').on('click', function() { 
     var $btn = $(this).button('loading') 
     $btn.button('reset') 
         }) 
    </script> 

하지만 작동하지 않습니다. 이 일을하려면 어떻게해야합니까?

답변

1

ASP.NET 컨트롤이 렌더링 될 때 새 ID가 할당됩니다. 버튼에서 inspect 요소를 수행하면 ID가 실제로 Button1이 아닌 것을 알 수 있습니다. 이 때문에 귀하의 $('#Button1') 선택자가 아무 것도 찾지 못했습니다.

지원하는 ASP.NET 버전을 사용하는 경우 clientIDMode="static"을 단추에 넣어서 ID가 변경되지 않도록 할 수 있습니다.

하지 않으면, 당신은

  • 로드 자바 스크립트 확인 부트 스트랩을 확인
  • 확인 부트 스트랩 CSS가로드되어 있는지 확인 $('#<%=Button1.ClientID%>')

  • 1
    1. 확인 JQuery와로드되어 있는지 확인하여 $('#Button1')를 대체하여 클라이언트 ID를 얻을 수

    버튼이로드되어 즉시 재설정되는 것처럼 보입니다. 아약스 요청에서 before 단계의 버튼로드가 발생했습니다. 그런 다음 나머지 부분을 ajax 단계의 complete 단계에 넣습니다. 이렇게하면 작동하는 것을 볼 수 있습니다.

    +1

    필자는 ASP.Net에 동적 클라이언트 ID가 있다고 생각합니다. 그렇지 않으면 지정하지 않으면 버튼이 프런트 엔드에서 완전히 다른 ID로 렌더링됩니다. 따라서 jQuery 선택기는 존재하지 않는 ID를 찾고 있습니다. – Santi

    +0

    나는 그들 모두를 검사했다. 리셋을 제거하면 작동했습니다. 덕분에 내 친구. –