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 » PHP » Напишите за меня, пожалуйста » Перезапись значения поля

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

1. pantela - 15 Февраля, 2016 - 04:10:19 - перейти к сообщению
Имею поле, при клике которого происходит загрузка файла на сервер и в поле input прописывается путь файла.

При клике поля ещё раз, загружается ещё один файл, и в поле input прописывается новое значение, но надо что бы новое не перезаписывалось, а добавлялось бы.
Поле для загрузки
CODE (html):
скопировать код в буфер обмена
  1. <input name="<?=$files_key?>[]" id="images" multiple="true" type="file" />


Поле для значении
CODE (html):
скопировать код в буфер обмена
  1. <input type="hidden" name="down_files" id="object_gallery"/>


JS Обработчик, но надо дописать... Закатив глазки
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).on("change", "#images", function(){
  2.         $("#object_gallery").val($(this).val())
  3. });


спс.Ув.
2. pantela - 21 Февраля, 2016 - 00:39:08 - перейти к сообщению
Растерялся
3. IllusionMH - 21 Февраля, 2016 - 03:44:45 - перейти к сообщению
pantela, путь к файлу это только для удобства пользователя, чтобы они примерно мог видеть что выбрано, у JS нет доступа ни к чему кроме имени файла(без пути) и даты последнего изменения.

На самом деле вам нужно каждый раз добавлять новое поле, и пользователь будет выбирать уже там второй и т.д. файлы, либо использовать атрибут multiple(и все файлы нужно выбрать за раз).
Либо использовать File API и добавлять файлы в массив или в объект FormData, а потом асинхронно отправлять. Если нужно синхронно - то только добавлять новые поля.
4. pantela - 22 Февраля, 2016 - 01:38:48 - перейти к сообщению
Цитата:
либо использовать атрибут multiple(и все файлы нужно выбрать за раз).
У меня так и сделанно (через новые поля не хотелось бы...), но при выборе второй раз перые значение затеряються, а мне надо вытащить первые значения и им добавить новые...
5. IllusionMH - 22 Февраля, 2016 - 03:15:19 - перейти к сообщению
pantela, как я сказал: File API + FormData + отправка только асинхронно.
Либо если нужно отправлять синхронно - тогда только добавлять новые поля, а предыдущие прятать (возможно показывать списко имен файлов для удобства)
6. pantela - 22 Февраля, 2016 - 08:39:20 - перейти к сообщению
Да чёрт что тут так сложного просто подсказать как не удалить мне значения которые уже прописанны в поле... т.е. не перезаписывать... Остальное я сам сделаю (уже сделанно)

спс.Ув.
7. LIME - 22 Февраля, 2016 - 09:33:31 - перейти к сообщению
Омг
pantela вытащи башку из задницы
Дали дельный ответ
8. IllusionMH - 22 Февраля, 2016 - 14:47:06 - перейти к сообщению
pantela, да всегда будет перезатираться, неужели не ясно что так работает браузер?!
Нельзя не "перезаписать".
Как можно сделать чтобы не "перезатиралось" уже объяснил 2 раза.
9. DelphinPRO - 22 Февраля, 2016 - 15:44:59 - перейти к сообщению
LIME, IllusionMH, оставьте человека в покое Улыбка
Ну нравиться ему говнокодить - ради бога.

pantela пишет:
JS Обработчик, но надо дописать...


CODE (javascript):
скопировать код в буфер обмена
  1. $(document).on("change", "#images", function(){
  2.   var existsValue = $("#object_gallery").val();
  3.   $("#object_gallery").val(existsValue + ';' + $(this).val());
  4. });




Эта хрень, конечно же не будет работать, и ТС прибежит с новым вопросом, но тут пока ничего не поделать.

По крайней он получил ответ на конкретный вопрос "Как добавить еще одно значение..?"
10. LIME - 22 Февраля, 2016 - 15:49:35 - перейти к сообщению
DelphinPRO иди сам туда
IllusionMH дал оптимальный вариант
не трогать IllusionMH блин Шпаги
11. DelphinPRO - 22 Февраля, 2016 - 16:21:19 - перейти к сообщению
фигушки.

оптимальный вариант - это взять готовый плагин с блэкджеком и шлюхами и не парить мозг себе и людям.

на днях делал аякс-мульти-загрузку файлов с прогрессбаром, превьюшками и прочими свистоперделками.

https://www[dot]google[dot]ru/search?q=file+uploader
12. LIME - 22 Февраля, 2016 - 16:23:22 - перейти к сообщению
DelphinPRO пишет:
на днях делал аякс-мульти-загрузку файлов с прогрессбаром, превьюшками и прочими свистоперделками.
олей в наши уши
DelphinPRO пишет:
фигушки.
сам ты фигушки
я о том что тупит ТС по полной
а ты ему добро даешь(он хрен увидит сарказм)
читать неумеючи
(Добавление)
DelphinPRO и брата моего Илюжина не сметь трогать!!! Шпаги
13. pantela - 23 Февраля, 2016 - 17:44:42 - перейти к сообщению
Сразу пишу что не ловко мне так беспокоить, на то что готово (хоть говно) лучще ему добавить функционал

IllusionMH Не ясно, т.к. я ведь val() записываю
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="hidden" name="down_files" id="object_gallery" value="{"0":{"dir":"/uploaded/tmp/jellyfish.jpg","name":"jellyfish.jpg"}}">
вот и при повторой записи, текущей просто надо добавить... прим. как написал DelphinPRO

CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="hidden" name="down_files" id="object_gallery" value="{"0":{"dir":"/uploaded/tmp/loala(1).jpg","name":"loala(1).jpg"},"1":{"dir":"/uploaded/tmp/jellyfish.jpg","name":"jellyfish.jpg"}}">



DelphinPRO спс, но всё равно затеряеться Растерялся

Цитата:
на днях делал аякс-мульти-загрузку файлов с прогрессбаром, превьюшками и прочими свистоперделками.
Покажи результат может закажу сразу )) для прогрессбаром вроде надо доп. модуль для nGinx ставить. или сам Apache что вроде должен что-то поддерживать...


LIME на этом этапе надо говно код, вот и будет говно код...

спс.Ув.

P.S. Ну и за нуба реально не надо ссориться Шпаги ))
14. IllusionMH - 23 Февраля, 2016 - 20:02:34 - перейти к сообщению
pantela, вот тут просто все что нужно есть https://blueimp[dot]github[dot]io/jQuery-File-Upload/

 

Powered by ExBB FM 1.0 RC1