2012-04-26 5 views
0

각 행 값을 편집하기위한 표와 편집기가 있습니다. 제 편집자에게는이 dijit.form.DateTextBox가 있습니다. 제출 및 취소 버튼도 있습니다. 편집 단추를 클릭하면 텍스트 상자를 포함하여 1 개의 양식과 다른 도우지 컨트롤이있는 표 팝업 편집기가 열립니다. 이제 취소 단추를 사용하여 양식을 재설정하고 Dojo Grid Popup 대화 상자를 숨기려고합니다. 같은 기능을 만들었습니다. DateTextBox onChange 이벤트 이후에 실행되는 JavaScript를 제거하면 올바르게 작동합니다. 그것은 아래에 나와있는 오류가 발생합니다.잡히지 않은 TypeError : dijit.form.DateTextBox로 null의 getMonth 메소드를 호출 할 수 없습니다.

catch되지 않는 형식 오류가 :

내가 DateTextBox OnChange 이벤트에있는 자바 스크립트는이 널 (null)

의 방법 '속하는 getMonth'을 호출 할 수 없습니다.

dojo.connect(dijit.byId("Edit_TrialStartDate"), "onChange", function() {       
         var item = dojo.date.locale.format(dijit.byId("Edit_TrialStartDate").value, { datePattern: "MM/dd/yyyy", selector: "date" }); 
         dijit.byId("Edit_tTrialStartDate").setValue(item); 
        }); 

이 오류가 발생하면 내 그리드 팝업 대화 상자가 등록 된 ID를 해제하지 않기 때문에. 그래서 나는 한 번에 1 개의 레코드 만 편집 할 수 있습니다. 다른 행 편집 단추를 클릭하면 아래 오류가 발생합니다.

catch되지 않는 오류 : ID == TrialGridPopUp에 위젯을 등록 시도하지만 ID가 이미 사람이 어떻게이 문제를 해결하려면 어떤 생각을 가지고 있습니까

를 등록?

답변

2

코드에 어딘가에 날짜가 아닌 개체를 날짜가 필요한 메서드로 전달하고 있습니다.

Uncaught TypeError: Cannot call method 'getMonth' of null 

나는 dijit.byId("Edit_TrialStartDate").value이 당신에게 날짜 객체를 제공하고 있는지 확인합니다.

dijit.byId("Edit_TrialStartDate").get('value');

관련 문제