1

를 제출 트리거링 이제구글 폐쇄 형 내가 폐쇄 UI 버튼 형태가

var myButton = goog.ui.decorate(goog.dom.getElement("submit-login")); 
myButton.setDispatchTransitionEvents(goog.ui.Component.State.ALL, true); 
goog.events.listen(myButton, goog.ui.Component.EventType.ACTION, function(e) { 
    goog.dom.getElement("login-form").submit(); 
}); 


를, 내가 가지고있는 2 개의 다음 호 :

  • 양식이 제출되지 않았습니다. 나는 누르면 에드는 필드 중 하나에 "입력"
  • goog.events.EventType.SUBMIT 양식에 트리거되지 않습니다 이벤트는, 나의 최종 청취자 못해 실행
  • 나는이 문제를 해결할 수있는 방법

? 답

답변

2

내가 발견 한 해킹에 대한 기대로
감사하는 것입니다

  • 는 숨겨진 버튼 태그를
  • 트리거 이벤트 ACTION에 숨겨진 버튼을 클릭을 추가


var hiddenSubmit = goog.dom.createDom("button",{ type : "submit", "style" : "visibility: hidden; position: absolute; z-index: -10000"}); 
goog.dom.appendChild(goog.dom.getElement("submit-login"), hiddenSubmit); 
goog.events.listen(myButton, goog.ui.Component.EventType.ACTION, function(e) { 
    hiddenSubmit.click(); 
}); 


EDIT : Safari와 Chrome이 "Display : none"요소로 숨겨진 이벤트를 트리거하지 않으므로 다른 CSS 규칙으로 버튼을 숨겨야합니다.