У меня есть объект. Он имеет некоторые атрибуты, функцию инициализации для элемента DOM и обработчик событий для этого элемента DOM.Использование bind (this) для обработчика событий
Я хочу, чтобы мой обработчик событий имел доступ к свойствам объекта. Я использую .bind (это), но он говорит: «Невозможно вызвать метод« bind »undefined». Что я делаю не так?
var SignUpForm2 = {
eForm: null,
eEmailInput: null,
ePasswordInput: null,
signUpURL: null,
email: null,
password: null,
handleFormSubmit: function() {
e.preventDefault();
this.email = this.eEmailInput.val();
this.password = this.ePasswordInput.val();
$.ajax({
type: "POST",
url: this.signUpURL,
data: {
email: this.email,
password: this.password
},
success: function(response){
}
});
},
init: function(eForm) {
this.eForm = eForm;
this.eEmailInput = this.eForm.find('input[name="email"]');
this.ePasswordInput = this.eForm.find('input[name="password"]');
this.signUpURL = "/index.php/ajax/user-sign-up-via-email";
this.eForm.submit(this.handleFormSubmit.bind(this));
},
}
Работает: http://jsfiddle.net/v3678/1/ – Cherniv
@ Чернов - как вы можете это рассказать? Не похоже, что вы можете отправить эту форму ... –
Метод DOM 'form.submit()' не принимает аргумента. – h0tw1r3