2017-01-10 2 views
0

Я работал над Co-drops Minimal Form Interface. Я не мог понять этот фрагмент кода в шагахForm.js. (Линия 50)Как работает прототип для onSubmit: function()?

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

Я новичок в JS, и не возражал бы объяснение всего кода в stepsForm если у кого есть время, чтобы сделать это. Но пока что объяснение вышеизложенного может творить чудеса для меня. Я знаю, что такое прототип, но часть onSubmit проходит над моей головой. Я читал по другому вопросу, что это для предотвращения обновления, но я чувствую, что это неправильно.

ответ

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> 

в библиотеке в (строка 196 stepForm.js) _submit называется, который INTURN созывающий onSubmit. На этот раз вместо значения по умолчанию он выполнит тот, который мы добавили выше.

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

Надеюсь, что это поможет.

+0

Однако, кажется, нет смысла возвращать определенное значение, но оно игнорируется. – RobG

+0

Спасибо тонну. Понял это в кратчайшие сроки. –

+0

@RobG, если вы ссылаетесь на 'return true' в конце onsubmit, действительно ли это не подтверждает onSubmit, чтобы продолжить и завершить else fail/stop, когда false. Разве я не прав, говоря это? – Searching