Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
Всем доброго времени суток!
Ниже приведенный код выводит блок-форму для отправки комментария и позволяет загружать картинки в комментарий.
Все это он делает и это замечательно.
Но появилась бага которую не могу отловить уже 3 дня. После первой отправки комментария с картинкой, в остальных таких же формах в моделе тоже появляется запись о вложенной картинке.
вычислил что во всех остальных формах появляется запись о картинке сразу после срабатывания события fileuploaddone, как оно туда попадает ума не приложу.
Возможно ли такое, что это событие происходит для всех input[type=file] или в этом повинно то ,что у них имена одинаковые?
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
Ну хоть какую нибудь версию!?
Viper
Отправлено: 19 Ноября, 2014 - 23:52:33
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
biperch пишет:
вычислил что во всех остальных формах появляется запись о картинке сразу после срабатывания события fileuploaddone, как оно туда попадает ума не приложу.
чисто теоретически могу предположить, что попадает оно после успешной загрузки файла. КО
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
Viper пишет:
biperch пишет:
вычислил что во всех остальных формах появляется запись о картинке сразу после срабатывания события fileuploaddone, как оно туда попадает ума не приложу.
чисто теоретически могу предположить, что попадает оно после успешной загрузки файла. КО
то что после загрузки, это да, то что в текущую модель записывает номер картинки это тоже хорошо, но как этот номер картинки попадает в остальные модели....
Viper пишет:
Что есть this в методе UploadInit?
this - Экземпляр класса comments.CommentForm
по сути объявляем модель, вид, отрисовали
var comment_empty_model = new MyApp.comments.CommentModel({entity_id : this.model.get('id'),
entity_type : this.model.get('entity_type')}),
comment_form_view = new MyApp.comments.CommentForm({model:comment_empty_model});
comment_layout.comments_form.show(comment_form_view);
Во вложении полный код вида, UploadInit выполняется в контексте своего вида, для верняка запускал через call эффект тот же был, так что оставил так как сейчас..
Viper
Отправлено: 20 Ноября, 2014 - 09:04:07
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Меня настораживает that.model.set('attachments', attachments); который у вас чуть ниже ещё и в цикле почему-то. Логично предположить, что в цикле для n-файлов, но а перед ним зачем?
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
как только пришел ответ от сервера что картинка загружена, в модель записываю номер картинки.
Далее отменяю обработчик кнопки который абортирует загрузку и создаю новый обработчик на удаление картинки. а в цикле перебираю массив атачей и если нахожу совпадение то исключаю эту картинку, удаляю отображение превью, после массив атачей с исключенным элементом обратно записую в модель
Viper
Отправлено: 20 Ноября, 2014 - 16:46:39
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
Viper пишет:
Точно. Не досмотрел.
Хм... В тупике
я тоже в тупике
biperch
Отправлено: 27 Ноября, 2014 - 01:54:49
Частый посетитель
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
И так, продолжаем викторину, решение не найдено((
DeepVarvar
Отправлено: 27 Ноября, 2014 - 09:09:08
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Создать два "разных" аплоада на одной странице и посмотреть как они между собой себя ведут.
Возможно где-то через прототип или профуканый указатель имеем то что имеем.
Может помочь изменение логики приложения на то, чтобы все модели пользовались одним загрузчиком, а не имели каждая свой.
вот это this.$('selector') разве так и должно быть? может нужно как-то обращаться к селектору $('.f-comment-add-file') в контексте его родителя, а то такое чувтсво что оно будет искать все такие элементы в ДОМ и применять действия независимо от того к какой модели оно относится
----- Just do it
biperch
Отправлено: 27 Ноября, 2014 - 14:38:25
Частый посетитель
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
this.$('.f-comment-add-file').fileupload({
this - это "вид"
this.$('.f-comment-add-file').fileupload({ - поиск селектора в контексте вида
равносильно this.$el.find('.f-comment-add-file') (Добавление)
Вот еще какой парадокс
отправляю в комменте картинку отправляю второй коммент в другой форме картинка там есть, что есть бага.
опять в первом отправляю картинку, во тором отправляю только текст уже картинки нету то есть повторно баг не происходит
biperch
Отправлено: 28 Ноября, 2014 - 21:26:07
Частый посетитель
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
новая инфа)))
после отправки первого коммента с картинкой.
подгружаем новые сообщения, для них динамически создаются форма комментов, после отправки коммента в вновь созданном сообщении картинка появляется.... следовательно запись о картинке записывается в прототип или что то вроди этого....
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.