За последние 24 часа нас посетил 22621 программист и 1050 роботов. Сейчас ищут 692 программиста ...

Сбрасываеться картинка при пересохранении формы

Тема в разделе "JavaScript и AJAX", создана пользователем vah-smile, 31 янв 2019.

  1. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Суть в следующем: на странице есть поле для задания картинки
    Код (Text):
    1. <input type="file" accept="image/*" name="image">
    При задании картинки и сохранении формы - картинка загружаеться на сервер и отображаем эту же страницу но уже с загруженой картинкой ( http://prntscr.com/mep86r ).

    Проблема: при повторном клике на кнопку Save - картинка сбрасываеться ( http://prntscr.com/mepah3 ).

    Вопрос: Как сделать так, чтобы при повторном сохранении формы - картнка оставалась? Картинку обновлять только тогда, когда пользователь вручную указал другую картинку
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Конечно-же, при обработке формы проверять содержимое $_FILES['image']
     
  3. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    А что если на странице расположены несколько таких input[type="file"]? Переменная $_FILES - получит масив всех файлов. А как отследить, для какого input[type="file"] был изменен файл, а для какого нет?

    Думал написать что-то типа такого:
    Код (Text):
    1. $('input[type="file"]').each(function(){
    2.   $(this).val('file_name');
    3. });
    Но здесь браузер ругаеться, и говорит о нарушении безопастности.
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.821
    Симпатии:
    736
    Адрес:
    Татарстан
    при чем тут браузер
    тебе говорят - при обработке формы! ты где сохраняешь картинки - в браузере или на сервере?
    При сохранении/обновлении профиля - смотри, передали ли новую картинку - если передали - загружай и обновляй поле, если ничего не передали - не трогай картинку , пусть старая будет
     
    #4 ADSoft, 31 янв 2019
    Последнее редактирование: 31 янв 2019