У меня есть этот код ниже.
$('body').on('submit', '.some-form', function (event) {
$(this).ajaxSubmit({
dataType: 'json',
success: function (data, statusText, xhr, form) {
var url = 'some/url';
// Reload the form markup/DOM using the response
$.ajax({
dataType: 'html',
type: 'get',
url: url
}).done(function (html) {
// get markup from url and replace the form markup ...
});
},
error: function () {
alert('error');
}
});
return false;
});
По сути, я здесь делаю
- отправить и обработать форму
- получить результаты
- в случае успеха получить новую разметку формы со страницы, а затем заменить текущую разметку формы. если сбой, показать ошибку
Теперь, поскольку я делегировал событие отправки телу, проблем с обработкой отправки во вновь загруженной разметке формы возникнуть не должно.
Обработчик функции работает нормально, пока я не увижу эту ошибку
TypeError: $(...).ajaxSubmit is not a function
error: function () {
Есть идеи, почему это произошло? Это означает, что ajaxSubmit не существует, но я не перезагружал страницу.
РЕДАКТИРОВАТЬ: Да, я использую плагин формы jquery