2011-08-05 4 views
0

하나의 템플릿 필드 열에 하나의 autopostback 체크 박스가있는 gridview가 있습니다. autopostback을 계산하고 서버 측에서 모델을 동기화 한 다음 autopostback을 꺼야합니다. .
프로젝트 제한과 캔트에 대해 아무 것도하지 않기 때문에 저는 아약스를 사용할 수 없습니다.
이전 포스트 백이 완료 될 때까지 사용자가 다른 체크 상자를 클릭하지 않도록하고 포스트 백간에 사용자가 다른 이벤트를 발생시키지 않도록하려면 각 이벤트 발생시 모든 페이지를 고정해야합니다.
jsfiddler에 대한 링크를 게시하지 마시고 can not simulate asp.net postback을 보내주십시오. 이 경고는 쓸모가jquery에서 사용자가 클릭 할 때 페이지가 모두 고정됨

<head id="Head2" runat="server"> 
    <title></title> 
    <script type="text/javascript" src="../../scripts/jquery-1.6.2.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $(':checkbox').parent().click(function (event) {     
        alert(event.target.id);  // <<<<<< dont work if removed !!! 
        $(document).find('*') 
          .attr('disabled', 'disabled') 
          .removeAttr('href') 
          .css('color', 'grey'); 
        return true; 

       }); 
      }); 
     </script> 
</head> 
<body> 

그것이 내가 경고가 위의 주석 넣을 필요가 올바른 방법으로 작동하도록 도달 : 스크립트 요소 내에 folowind의 jQuery를 사용하여
임,이 스크립트 요소는 최고 AAT 헤더 요소의 내부 나를 괴롭 히고 사용자에게 성가시다.하지만 제거되면 포스트 백이 잘 안되는데, 마치 페이지가 다시로드되고 눈금으로로드되고 모든 게시물이 깨끗한 것처럼 보이게된다. 왜이 경고를 삭제할 수 없습니까?

답변

0

"loading ..."div와 같이 모든 것을 앞에 놓고 요소를 비활성화하지 마십시오. 요청이 끝나면 요소를 숨 깁니다.

1

왜 operatin이 완료 될 때까지 전체 페이지에 투명한 div를 표시하고 compelete 뒤에 숨기지 않을까요?

$(document).ready(function() { 
       $(':checkbox').parent().click(function (event) {     
        //Show a transparent div 
        $("<div style='position:absolute' />") 
        .height($(document.body).height()) 
        .width($(document.body).width()) 
        .css("opacity", "0.5"); 
        .appendTo(document.body); 


       }); 
      }); 
+0

프로세스가 실패 할 경우를 대비하여 투명 div를 "닫을"수있는 기회를 사용자에게 부여하는 것이 좋습니다. 주어진 시간 (초)이 경과하면 setTimeout을 사용하여 닫기 버튼을 표시 할 수 있습니다. –

+0

예, 프로세스가 실패하면이 div를 닫아야합니다. – ShankarSangoli

관련 문제