2012-04-26 2 views
0

update panel 안에 버튼이 있습니다.단추 텍스트를 변경하여 포스트 백 중에 비활성화하십시오.

사용자가 버튼을 클릭 할 때 Please Wait... 텍스트가 버튼 텍스트로 표시되고 버튼이 포스트 백이 완료 될 때까지 비활성화되기를 원합니다. 이 코드를 작성했습니다 :

$('#Button2').on("click", function (e) { 
       $("#Button2").val("Please Wait"); 
       $('#Button2').attr('disabled', 'disabled'); 
}); 

버튼을 사용하지 않도록 설정하면 문제가 서버 측에서 발생하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

0

onClick 함수에서 먼저 ajax 호출을 만든 다음 그 뒤에 단추를 비활성화하십시오. 비동기 호출이기 때문에 다음 스크립트 행은 호출이 진행되는 동안 버튼을 비활성화해야합니다. 통화 후 콜백에서 버튼을 다시 사용할 수 있습니다.

1
$('#Button2').on("click", function (e) { 
       $("#Button2").text("Please Wait"); 
       $('#Button2').attr('disabled', 'disabled'); 
       //your ajax function here 
    $.ajax({ 
      url:'your url', 
      data : ({/*data to send***/ }), 
      method : 'POST', 

      success: function(msg){ 
       $('#Button2').removeAttr('disabled'); 
      } 
    }); 
      //end ajax 


}); 
3

jQuery.ajax 함수를 사용하여 서버 호출을 트리거하고 있습니까? 그렇다면 버튼 텍스트가 변경되고 "beforeSend"키가 비활성화됩니다.

$.ajax({ 
    ..... 
    beforeSend: function(){ 
    $("#Button2").val("Please Wait"); 
    $('#Button2').attr('disabled', 'disabled'); 
    } 
    ..... 
}); 
+0

'$ ("# Button2를") 발은 ("잠시 기다려주십시오");.'작동하지 않습니다. – Pathros

1

당신은 jQuery를에 .attr .html과 기능을 사용할 수 있습니다. 이 도움이 http://jsfiddle.net/stan255/cpLqK/1/

희망 :

$('#btn').click(function(){ 
    $(this).html('Saving...'); //this changes the html to Saving... 
    $(this).attr('disabled', true); //this will disable the button onclick 
}); 

다음은 샘플 바이올린입니다.

  • 스탠리는