![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| linuxoid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 17.4.2005 Репутация: нет Всего: нет |
Здравствуйте коллеги! Пытаюсь решить такую задачу:
Есть форма (к примеру имя, адрес, телефон, фото 1, фото 2, фото 3 и т.д., биография). Нужно, чтобы картинки добавлялись на лету, но форма при этом не отправлялась. К примеру, если пользователь не ввел телефон, то сверху в том же окне появится ошибка "введите телефон" и т.д. Но ошибки не должно быть, если я сразу начал с добавления фоток. Для этого мне и нужно как-то "отвести" закачку фоток от общей формы. Все это нужно для того, чтобы человек сразу увидел, как добавилась фотка, получил сообщение об ошибке, если что-то не так (размер, формат, возможность сразу удалить фото и т.д.). Я на эту тему нашел варианты реализации того, что мне нужно, но... везде примеры, где только 1 поле для добавления фотки и никаких текстфилдов и других полей. В этом и заключается проблема + должно работать во всех браузерах. Вот пример того, что бы подошло, за исключением того, что ошибки выводятся не яваскриптом, а на самой странице. http://www.doska.ru/entertainment/acquaintances/new-step-2/ Вспомогательный материал: "Ajax" image upload http://www.atwebresults.com/php_ajax_image_upload/ http://www.webmotionuk.co.uk/jquery-image-...d-crop-for-php/ http://wizecho.com/nav=scripts&s=ajax_image http://www.articlesbase.com/programming-ar...jax-458806.html Форма в форме - http://phoinix.ucoz.ru/publ/4-1-0-17 http://markuzweb.blogspot.com/2009/10/embe...in-another.html http://codingforums.com/showthread.php?p=817890 Буду благодарен за любую информацию. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
в данном случае не обязательно. отправили форму, файл сохранился, в скрипте проверились остальные поля, если что-то не так, где-нибудь (в сессии или форме) сохраняем идентификатор загруженного файла, а форму возвращаем для корректировки данных. с пометкой, что файл такой-то уже добавлен |
|||
|
||||
| linuxoid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 17.4.2005 Репутация: нет Всего: нет |
В том то и дело, что я "не хочу", чтобы форма что-то проверяла, когда я добавил фото. Проверка должна происходить только тогда, когда пользователь нажал кнопку "Submit". В тех примерах, что я указал выше идет отправка формы целиком (т.е. submit выполняется сразу после выбора фотографии через "browse"), поэтому и происходит проверка на ошибки даже в том случае, если пользователь еще не добрался до телефона или биографии. Поэтому мне и нужно, чтобы фотки добавлялись как бы отдельно от формы (ведь я могу записать их в базу, а потом уже при субмите формы делать с ними все, что нужно.. по идее)
Это сообщение отредактировал(а) linuxoid - 21.1.2010, 15:32 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| linuxoid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 17.4.2005 Репутация: нет Всего: нет |
В том-то вся и проблема, что это нежелательный эффект оп использования такой системы загрузки фоток (по типу AJAX'a). Без сабмита всей формы, в которой находятся картинки загрузить их "на лету" нельзя. Но кажется я нашел решение.
Если кому-то интересно, то можете скачать приложенный архив и заменить там index.php на этот код, потом запустить на локалке. В таком варианте корректно работает и загрузка фоток "на лету" и сама форма сабмитится как положено.
Присоединённый файл ( Кол-во скачиваний: 38 )
php_ajax_image_upload.zip 73,80 Kb |
|||
|
||||
| linuxoid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 17.4.2005 Репутация: нет Всего: нет |
Здравствуйте товарищи. В общем я сделал то, что и задумывал. Код конечно не блестящий и это только первый вариант кгб + надо "подгонять под себя", но anyway это полное и готовое к использованию решение.
- Добавление фоток без перезагрузки в рамках формы с текстовыми полями и т.д.. - Удаление фоток без перезагрузки - Кол-во фоток (browser'ов) задается в конфиге - Фотки не "мешают" основной форме (где идут телефоны, адреса и другие поля) - Если пользователь допустил ошибки в основной форме, то фоки остаются на месте и их всегда можно менять. - работает в основных браузерах Если кого-то интересует, то все файлы в приложении. Вам нужно будет поменять код только в 2х местах. В index.php: define("PATH", "C:/xampp/htdocs/image_upload_2/uploads/"); - указать свой путь В ajaxdelete.php unlink("C:/xampp/htdocs/image_upload_2/".$filepath); - указать свой путь Было бы интересно узнать ваши комментарии, если будете смотреть... thx Присоединённый файл ( Кол-во скачиваний: 75 )
ajax_image_upload_v2.rar 214,86 Kb |
|||
|
||||
| maksnk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.7.2014 Репутация: нет Всего: нет |
У меня не работает. Выдает вот что Array ( ) Error: text 1 dolzen bitj raven 1000! (primer otslezivanija owibok pri tom, cto zagruzennie fotki nikuda ne iscezajut) |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |