Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывод превью картинки
Форумы портала PHP.SU » » Вопросы новичков » Вывод превью картинки

Страниц (1): [1]
 

1. msheul - 15 Сентября, 2011 - 14:06:42 - перейти к сообщению
Добрый день. Проблема состоит в следующем.

есть форма
CODE (javascript):
скопировать код в буфер обмена
  1. <form id="ajaxUploadForm" method="post" enctype="multipart/form-data" onsubmit="sendForm(this, 'uploadFile.php', uploadComplete, 'resultDiv'); Show(); return true; ">


функция sendForm заливает картинку на сервер и создаёт превью, который складывает в отдельный каталог. Функция Show выводит превью в специально подготовленный div. Но. Превью не показывается при первой загрузке картинки. Вместо него получаем стандартный значок отсутствия изображения, однако по ссылке под ним (если открыть в новой вкладке) находится искомый превью. То есть физически он находится в каталоге. Если же загрузить это же изображение ещё раз с тем же именем, то превью будет выводиться (потому что уже лежит в нужном каталоге).

Проверял в Chrome, Firefox, IE, Opera. В Opera проблема отсутствует.
2. Stierus - 15 Сентября, 2011 - 14:30:20 - перейти к сообщению
Проблема в onsubmit="sendForm(this, 'uploadFile.php', uploadComplete, 'resultDiv'); Show();

show() нужно запускать при получении ответа сервера , а не сразу после запуска ф-и sendForm(this, 'uploadFile.php', uploadComplete, 'resultDiv');
3. msheul - 15 Сентября, 2011 - 14:36:26 - перейти к сообщению
а на какое событие обработчик вешать чтобы знать когда форма засабмитилась?
4. Stierus - 15 Сентября, 2011 - 14:51:58 - перейти к сообщению
Это зависит от того, что у вас внутри sendForm
5. illy - 16 Сентября, 2011 - 16:50:00 - перейти к сообщению
может поставить задержку settimeout('Show();', 2000); ?
6. Slavenin - 16 Сентября, 2011 - 22:33:08 - перейти к сообщению
Цитата:
может поставить задержку settimeout('Show();', 2000); ?

если файл большой, то времени может не хватить, а Show() нужно размещать в ajax функции(если файл заливается аяксом), которая заливает файл на сервер и вызывать при положительном ответе сервера
7. illy - 17 Сентября, 2011 - 09:35:15 - перейти к сообщению
Всё верно Подмигивание

 

Powered by ExBB FM 1.0 RC1