2014-04-28 5 views
0

나는, 내가 모달 팝업자바 스크립트 사용자 정의 이벤트 트리거 문제

또한 모달 뷰 코드 내에서
var modal = new MyAppModalView({ 
    model: person 
}); 

modal.bind("afterSave", function(values) { 
    self.showMessage('Sucessfully submitted for saving', false, true); 
    return true; 
}); 

를 표시하는 세부/편집

이 버튼의 클릭에

을 만들기 위해이 개 버튼을 포함하는 볼 수 있습니다 나는 가지고있다; 이벤트가 생성 흐름 트리거되는 동안

if (isNew) { 
//Create flow 
    this.model.save(myJSON, { 
     url: "myapp/persons/create", 
     success: function() { 
      self.trigger("afterSave"); 
      self.removeModal(); 
     } 
    }); 
} else { 
//Edit flow 
    this.model.save(myJSON, { 
     url: "myapp/persons/edit", 
     success: function() { 
      self.trigger("afterSave"); 
      self.removeModal(); 
     } 
    }); 
} 

지금 이후를 위해 저축을 모두/편집 만들기, 내가 afterSave

에 대한 이벤트를 트리거, 그것은 편집 흐름에 대해 트리거되지 않습니다. 왜 그런 일이 일어날 지 모르겠습니다.

나는 모달을위한 2 개의 분리 고르게 바인딩 (afterSave/대한 AfterUpdate) 및

제발 도와주세요 정지 트리거가 편집 (대한 AfterUpdate)에 대해 호출되지 않습니다/편집 ... 만들기 각을 트리거했습니다.


코드는 아래와 같이 saveAction 내에서 호출됩니다.

var MyAppModalView = BaseModal.extend({ 
.... 
saveAction: function(event) { 
      var self = this; 

} 
}); 
+0

브라우저 콘솔의 오류 –

+0

오류 없음 ... 이벤트 만 트리거되지 않습니다. 코드 ... self.showMessage ('sav에 대해 성공적으로 제출되었습니다 ... 편집 흐름이 호출되지 않습니다. – testndtv

+0

함수에'afterSave' 바인드 이벤트를 옮기고 나서 바인드와 트리거를 호출 했습니까? – Pavlo

답변

0

POST (생성) 및 PUT (저장)에도 다른 URL을 사용할 필요는 없습니다. 즉 아래 코드를 잘라 것 : removeModal()가 다음 "afterSave"가 트리거되고 호출되고 있지만 편집보기가 afterSave 메시지가 어떻게 든 표시되지 일으키는

this.model.save(myJSON, { 
    success: function() { 
     self.trigger("afterSave"); 
     self.removeModal(); 
    } 
}); 

합니다. 이 경우 성공 여부 메시지를 경고로 바꿀 수 있습니다.

+0

Thx ... 방금 시도했습니다 ... 하지만이 경우에 URL을 올바르게 설정하지는 않습니다 ... 문자 그대로 "function() {..."으로 URL을 호출하려고 시도합니다. – testndtv

+0

그래서 재미 URL에 대한 ction이 실행되는 것 같지 않습니다 ... – testndtv

+0

URL을 재정의 할 수있게 해주는 Collection에 대한 사과드립니다. 어쨌든 POST (생성) 및 PUT (업데이트)에 동일한 URL을 사용할 수 있어야합니다. 또한 removeModal이 호출되는 경우 질문을 상태로 업데이트하는 것을 고려하십시오. – terpinmd

관련 문제