2013-02-13 1 views
0

집중적 인 작업이 포함 된 양식이 있습니다. blockUI를 렌더링 (초기화) 한 시간부터 완료된 시간까지 폼을 렌더링하고 내부의 모든 것을 렌더링하려고합니다. 어떤 생각을 어떻게 할 수 있습니까 ??. 나는 blockUI (p와 pe)와는 다른 것들을 시도했지만 양식이 집중적 인 작업을 마칠 때 blockUI를 트리거하는 방법을 찾을 수 없었다. 사전에 도움을 주셔서 감사합니다.BlockUI on Form은 집중적 인 작업으로 렌더링합니다.

참고 : 양식 제출없이이 과정이 진행됩니다. Primefaces 스냅 샷의 최신 버전을 사용 중입니다.

<ui:define name="content"> 
    <form id="stuff"> 
     <!--a lot of stuff here--> 
    </form> 
</ui:define> 
+0

양식을 렌더링하는 데 시간이 오래 걸리면 사용자 환경이 좋지 않습니다. 탭 또는 유사 구성 요소를 사용하여 지연로드를 활성화하십시오. –

+0

Xtreme, 양식 tabview 및 다른 탭이 포함되어 있지만 여전히 blockUI 갖고 싶어. "잠시만 기다려주십시오."라는 두 번째 깜박이는 경우에도 사용자 경험이 변경됩니다. –

+0

페이지로드시 블록 ui 호출을 시도 했습니까? 그냥 비슷하게 http://stackoverflow.com/a/7715381/1199132 –

답변

2

이렇게하면 양식 렌더링 중에 UI가 차단됩니다.

<ui:define name="content"> 

    <p:blockUI block="stuff" widgetVar="blockUIWidget"> 
     <h:outputText value="Please wait..."/> 
    </p:blockUI> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      blockUIWidget.show(); 
     }); 

     $(window).load(function() { 
      blockUIWidget.hide(); 
     }); 
    </script> 
    <form id="stuff"> 
     <!--a lot of stuff here--> 
    </form> 
</ui:define> 
관련 문제