2017-01-10 1 views
0

내가 일하고 있었다 Co-drops Minimal Form Interface. stepsForm.js에서이 코드 스 니펫을 이해할 수 없었다. (라인 50)onSubmit : function()의 프로토 타입은 어떻게 작동합니까?

stepsForm.prototype.options = { 
     onSubmit : function() { return true; } 
    }; 

내가 JS에 새로운 오전, 누구나 그렇게 할 시간이있는 경우 stepsForm의 전체 코드에 대한 설명을 상관하지 않겠습니다. 그러나 당분간은 위의 설명이 저에게 놀라운 일이 될 수 있습니다. 프로토 타입은 무엇인지는 알고 있지만, 제출 부분은 내 머리 위로 가고 있습니다. 나는 이것이 새로 고침을 막기위한 것이라는 또 다른 질문을 읽었지 만 잘못되었다고 생각합니다.

답변

1

라이브러리는 자신이 재정의 한 값을 전달할 수있는/사용할 수있는 options 속성을 제공합니다.이 중 특히 onSubmit이 노출됩니다.

모든 HTML에 대해 form의 경우 onSubmit은 다른 기능이나 클릭으로 제출 조치가 호출 될 때 호출됩니다.

라이브러리에서 기본값 인 onSubmit이 true를 반환합니다. 즉, 액션을 실행하는 것입니다. 사용자 정의 같은 기능이 라이브러리 내에서

<script> 
    var FORM_ELEMENT = document.getElementById('myForm') 
    new stepsForm(FORM_ELEMENT, { 
     onSubmit : 
     function (FORM_ELEMENT) { 
      alert('You are about to submit the form '); 
      //manipulate your form or do any preprocess work... 

      return true; 

     }); 
</script> 

에게 ... 어떤 inturn onSubmit 호출 호출되는 _submit (196 stepForm.js 라인)를 오버라이드 (override) 할 수 있습니다. 이번에는 기본값 대신에 위에서 추가 한 것을 실행합니다.

stepsForm.prototype._submit = function() { 
    this.options.onSubmit(this.el); 
} 

희망이 있습니다.

+0

특정 값을 반환하는 데 아무런 문제가없는 것처럼 보이지만 무시됩니다. – RobG

+0

감사합니다. 잠시 후에 그것을 이해했다. –

+0

@RobG onsubmit이 끝날 때'return true'를 언급한다면, 실제로 onSubmit을 확인하지 않고 계속 진행하고 false를 완료하면 else를 실패/중지합니다. 내가 그 말을 잘못하니? – Searching

관련 문제