2011-02-28 1 views
3

저는 UI 대화 상자 창을 사용하여 기존 양식 (양식과 레이아웃이없는 페이지)을 표시하는 방법을 실험했습니다. 나는 이것이 올바른 방법으로하고 있는지 확신 할 수는 없지만 잘 작동하지 않는 것 같고 몇 가지 나쁜 행동을 한 것 같다. 이것은 지금 동작입니다 :UI 대화 상자 창 - 내용이로드 될 때까지 대화 상자를 표시하지 않는 방법은 무엇입니까?

  1. 없는 conent과 대화 창이 열립니다 (빈/아주 작은)을 0.5 초 이후에 내용이로드에 대해
  2. 하고 창은 insantly 확장 (시각적으로 나쁜 모양)
  3. 내용이로드 될 때 창 너비가 확장 되더라도 제목 표시 줄은 새 너비로 조정되지 않고 매우 작은 너비로 유지됩니다. resizeable가 'true'로 설정 되어도 제목이 확장됩니다. 숨겨진 div의 내용이로드 될 때 너비 조정으로 응답하지 않습니다.

내용이 대화 상자로로드되기 전까지 대화 상자를 표시하지 않을 수 있으며 내용로드가 끝난 직후 대화 상자 제목을 너비 조정하도록 어떻게 할 수 있습니까?

<A HREF="javascript:newItem('foo')">CREATE NEW FOO ITEM<A> 

<script type="text/javascript"> 
    newItem= function(type) { 
     $("#form_load").load(
      '/items/new', {item_type: type}).dialog({ 
       modal:true, 
       draggable: true, 
       resizable: false, 
       width:'auto', 
       height:'auto', 
       title: 'Some title', 
       position: [150, 150] 
      }); 
    }; 
</script> 

고마워요!

답변

3

콘텐츠를로드 한 후에 대화 상자를 호출하려고합니다. $ .load의 콜백 메소드를 사용하면이 작업을 수행 할 수 있습니다.

<script type="text/javascript"> 
    newItem = function(type) { 
     $("#form_load").hide().load(
      '/items/new', 
      {item_type: type}, 
      function (data) { 
       $(this).dialog({ 
        modal  : true, 
        draggable : true, 
        resizable : false, 
        width  : 'auto', 
        height : 'auto', 
        title  : 'Some title', 
        position : [100, 100] 
       }); 
      } 
     });    
    } 
</script> 

콘텐츠가로드 될 때까지 #form_load 컨테이너가 표시되지 않도록 숨기기/표시 토글을 포함 할 수도 있습니다. 대화 상자가 생성 될 때까지() 그래서 내용이 표시되지 않습니다 추가 된 .hide : http://api.jquery.com/load/

UPDATE를 :

여기 jQuery의 $ .load 문서를 참조하십시오.

+0

고마워, 그건 나를 위해 작동하지 않습니다. 로드 이벤트에서 문제가 발생하지 않는 것 같습니다. div가 양식과 함께로드 된 후 대화 상자 창이 열리고 div의 콘텐츠가 대화 상자에 복제되는 동안 두 번째 지연이 분할 된 것처럼 보입니다 (콘텐츠가 대화 상자에 표시되면 대화 상자의 자동 콘텐츠에 크기가 조정되지만 제목 표시 줄에는 표시되지 않습니다. – Reno

+0

그래, 이걸 전혀 눈치 채지 못했지만 IE7에서만이 문제가 발생했습니다. 그것은 IE8이나 Firefox에서 일어나지 않습니다. .ui-helper-clearfix와 관련이 있습니다 (또는 .ui-helper-clearfix로 수정되지 않은 것이 있습니다). – Reno

+0

예를 온라인으로 들려주세요. – McHerbie

관련 문제