![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| KonstRuctor |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Всем привет!
Продолжаю построение юзабильных форм. Сегодня я создаю форму добавления новости для админки сайта. Задача предельно простая: новость состоит из заголовка, короткого текста и основного текста, а также имеет картинку. Можно сделать html-форму и отправить ее на сервер, в случае ошибки перегрузить страницу, выдать все ошибки... Но хочется сделать интерфейс удобным, работать без перезагрузок. За основу взят загрузчик ajaxupload.3.5.js. Я в начале опишу что я делаю и как, после чего задам вопрос, что же мне не понятно. Буду исренне рад получить ответы. Моя html-форма состоит из двух ячеек таблицы: левая отвечает за картинку, правая -- сама форма добавления новости. При успешном добавлении картинки в основную форму копируется имя загруженного файла для вставки этого имени в базу. Нажате кнопки ОК -- валидация (ajax.php) и в случае успеха -- редирект к перечню новостей. Сперва приведу html-код основной страницы:
Необходимо также привести файл стилей, чтобы было понятно что здесь и как оформляется:
За серверную часть отвечают два файла. Первый (upload-file.php) -- это аплоад картинки, пока без ресайза и проверок.
Второй файл (ajax.php) -- валидация основной формы добавления новости:
Все это вместе сейчас работает, но все совершенно сырое. Что у меня не получается? 1) Мне нужно переименовать файл. Нужно следовать шаблону $filename = "news".date(YmdHis); или $filename = "news".time(); Я не понимаю, как переименовать загруженный файл, на каком этапе это можно сделать. 2) Хотелось бы рядом с картинкой сделать кнопку ее удаления, если вдруг загрежено не то, что хотелось бы. В каком месте скрипта ее создать? Как сделать серверную часть? 3) Хотелось бы загружать картинку не автоматом, а иметь некую кнопку Send. На форуме автора это вяло обсужданиеся, но решения я не нашел или не понял. Спасибо! |
||||||||
|
|||||||||
| KonstRuctor |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Пункт (2) сделал таким образом:
1) Переписал javascript-функцию аплоада файла:
И серверная часть удаления – файл ajax.php
Остается только вопрос: как все-таки переименовать файл загруженной фотографии? Прикрепляю весь архив для экспериментов коллег. Присоединённый файл ( Кол-во скачиваний: 2 )
ajax_upload.zip 27,66 Kb |
||||
|
|||||
| KonstRuctor |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Коллеги, я разобрался с переименованием загружаемого файла.
Разобрался криво, что в народе называется "костыли". Мог бы кто-нибудь предложить более изящное решение? Вот мой метод: 1) В серверном php-файле, который отвечает за аплоад картинки:
2) На клиенте принимаем данные, редактируем функцию onComplete:
Таким образом можно рулить именем файла картинки. Недостаток этого метода в том, что я жестко ограничил – JPG и все. Скрипт получается не гибкий. Для моих нужд этого вполне достаточно, но есть ли более изящное решение? Прискладываю новую версию всего скрипта, может быть кому-нибудь он принесет пользу. Присоединённый файл ( Кол-во скачиваний: 11 )
ajax_upload_ver2.zip 86,02 Kb |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |