2014-11-03 4 views
0

제출 실패에서 선택된 탭 패널을 반환하지 않습니다 TabContainer Data Entry도장있는 TabContainer 내가 여러상에서 tabpanels를 포함하는 djTabContainer이

그러나 잘 작동 나는 내가 QuerySave에서 일부 처리를 할 버튼을 제출하고 false를 반환 클릭하면 나는 고객 탭을 클릭하면 Return from Failed QuerySave

가 제대로 고객 정보를 표시하고 난 후 헤더 탭을 클릭하면 그것도 제대로 표시 :이보기를 얻을 Header Selected

반환 할 때 선택된 탭이 없기 때문에 실패한 QuerySave에서 반환 할 때 헤더 탭을 표시하도록하는 방법이 확실하지 않기 때문에 그럴 것이라고 가정합니다.

+0

헤더 탭이 저에게 선택되었습니다. 머리글 탭 창의 내용에 대한 렌더링 논리가 있습니까? –

+0

Per - 몇 가지 탭의 렌더링 로직이 몇 가지 필드에 있지만 전체 탭이나 탭 자체에 영향을주지는 않습니다. 예를 들어 헤더 탭이 선택된 것처럼 보입니다. 다른 탭 중 하나를 선택하면 올바르게 표시되고 올바르게 표시되는 헤더를 다시 클릭합니다. 선택되어 있지만 표시되지 않는 것과 같은 종류입니다. –

답변

0

문제는 헤더 탭에 두 개의 패널이 있다는 것이 었습니다. 첫 번째 뷰에는 오류 메시지가 들어 있으며 viewScope.vsError! = null 인 경우 패널이 렌더링되고 두 번째 뷰에는 렌더링 된 속성이 없습니다. 내가 한 일은 헤더 패널 내부의 오류 패널로 옮겨졌고 그것을 수정 한 것 같습니다. 나는 그 탭이 panelError에서 렌더링 된 것을 좋아하지 않는다고 생각한다. 어떤 경우 든 원하는대로 작동합니다. Per의 덕분에 렌더링 문제가 있었지만 그것이 될 것이라고 생각하지는 않았습니다.

0

해당 탭 내에 양식 태그가 있기 때문입니다. 양식이 제출되면 리디렉션됩니다. 그것을 막으려면 자신의 방식으로 처리해야합니다.

는 "myForm을"은 양식 ID의 경우, 말을

dijit.byId('#myForm').on("submit", function() { 
sendFormToBackEnd(); // this will handle the POST functionality in js 
return false; //return false so it wont redirect now 
}); 

또는 간단한 하나는 전화 자체가 거짓 추가입니다 수 있습니다.

<form ... action="callSubmit();return false;" > 
... 
</form> 
0

양식 제출 버튼을 사용하지 않습니다.

<div data-dojo-type="dijit/form/From" data-dojo-id="myForm"> 
 
    
 
    <!-- other form fields here --> 
 
    
 
    <div data-dojo-type="dijit/form/Button"> 
 
    <script type="dojo/method" data-dojo-event="onClick"> 
 
     // manually activate validation 
 
     if (!myForm.validate()) { 
 
     return; 
 
     } 
 
    
 
     require(["dojo/request/iframe"], function(iframe) { 
 
     iframe("yourUrl", { 
 
      // not sure if you can use the From widget directly 
 
      form: myForm.domNode 
 
     }).then(function(data) { 
 
      // ... 
 
     }, function(err) { 
 
      // ... 
 
     }); 
 
     }); 
 
    </script> 
 
    Submit 
 
    </div><!-- Button --> 
 
</div><!-- Form -->

당신은 분명히 마크 업 data-dojo-event을 사용하지 않고, onClick를 호출 할 단순히 기능에 모두 넣을 수 있습니다 대신, Dojo의 iframe이 요청을 일반 버튼을 사용합니다.