can some one plz explain why i have to declare formhandler like this ?
var FormHandler = App.FormHandler; //Like Java just putting a type to the variable.
var formHandler = new FormHandler(FORM_SELECTOR);
And why i cant just declare it like this.
var formHandler = new FormHandler(FORM_SELECTOR);
Why is the first line needed?
Here is the full FormHandler code in case it is needed to answer the question.
(function (window){
'use strict';
var App = window.App || {};
var $ = window.jQuery;
function FormHandler(selector) {
if(!selector) {
throw new Error('No selector provided');
}
this.$formElement = $(selector);
if(this.$formElement.length === 0){
throw new Error('Could not find element with selector: ' + selector);
}
}
FormHandler.prototype.addSubmitHandler = function(fn) {
console.log('Setting submit handler for form');
this.$formElement.on('submit', function(event){
event.preventDefault();
var data = {};
$(this).serializeArray().forEach(function(item) {
data[item.name] = item.value;
console.log(item.name + ' is ' + item.value);
});
console.log(data);
fn(data);
});
};
App.FormHandler = FormHandler;
window.App = App;
})(window);
var formHandler = new App.FormHandler(FORM_SELECTOR);