• Как добавлять и удалять файлы в input type="file"?

    и так:
    1)
    <input onchange="handleChange" type="file" />
    
    <!-- как-то циклом выводи Store.files -->
    <span>file 1</span>
    <button onclick="(e) => removeFile(0)">remove file</button>
    
    <span>file 2</span>
    <button onclick="(e) => removeFile(1)">remove file</button>

    2)
    const Store = {
      files: [], // какое-то хранищие файлов, для примера так
    }
    
    // при выборе файлов, мы будем их добавлять
    function handleChange(e) {
      // если не выбрали файл и нажали отмену, то ничего не делать
      if (!e.target.files.length) {
        return;
      }
    
      // создаем новый массив с нашими файлами
      const files = Object.keys(e.target.files).map((i) => e.target.files[i]);
    
      addFiles(files); добавляем файлы в хранилище
      
      // очищаем input, т.к. файл мы сохранили
       e.target.value = '';
    }
    
    function addFiles(files) {
      // добавляем файлы в общую кучу
      Store.files = Store.files.concat(files);
    }
    
    // удалить файл из хранилища, например по индексу в массиве
    function removeFile(index) {
      // удаляем файл по индексу
      Store.files.splice(index, 1);
    }
    
    // если надо послать файлы на сервер, формируем FormData с файлами
    // const formData = getFilesFormData(Store.files);
    function getFilesFormData(files) {
        const formData = new FormData();
    
        files.map((file, index) => {
            formData.append(`file${index + 1}`, file);
        });
    
        return formData;
    }


    ну вот как-то так
    Ответ написан
    4 комментария
  • Можно ли в API Яндекс.Карты выбрать ближайший город к пользователю из списка?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Забейте координаты уже в коде и не используйте роутинг. Вам для такой грубой оценки хватит разности долготы и широты у координат.
    Ответ написан
    1 комментарий
  • Как выбраться из Boot menu\Application menu?

    @maksimkoh
    Есть простой вариант - нужно попасть в биос и отключить secure boot.

    Самый простой, быстрый и действенный способ зайти в BIOS на lenovo v580 в не зависимости от операционной системы.
    Работает 100%, а не та х**** что вы перелопатили кучу в интернете и не что вам не помогло.
    Значит так!
    1) Снимаем аккумулятор и отключаем питание от сети.
    2) Переворачиваем и снимаем большую крышку, там всего 2 болта.
    3) Под крышкой находим батарейку как в системнике и снимаем её, для того чтоб наверняка все было ОК, снимаем жесткий( там всего один болт).
    4) Подключаем только в сеть. Включаем ноутбук.
    5) Выйдет ошибка настройки времени и даты, это уже в самом биосе, я уже точно не помню что там нажимать, но не обессудьте,
    вроде f1 или esc наглядней поймете.
    6) Вот вы и в биосе, выставляйте нужные вам настройки.
    Удачи!
    Ответ написан
    Комментировать
  • Как убрать отступ?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Если действительно inline-блоки, то между элементами вставляется пробел, который ты и видишь. Либо убирай все пробелы между элементами в html-коде (чтобы между закрывающим тегом первого таба сразу шёл открывающих тег второго - без пробелов, переводов строк и прочих символов между ними), либо сделай для обрамляющего их блока font-size: 0px; - чтобы шрифт между табами был нулевого размера.
    Ответ написан
    Комментировать
  • Как убрать отступ?

    @andreloster
    Удалите пробелы и переводы строк между тегами .
    Это распространенная проблема при display: inline-block;
    Ответ написан
    Комментировать
  • Возможно ли на jQuery узнать размеры изображения по ссылке?

    GeneMoss
    @GeneMoss
    void
    Попробуйте так (работает и без jQuery):

    var img = new Image();
    img.onload = function() {
        alert(this.width + 'x' + this.height);
    };
    img.src = 'http://yandex.st/morda-logo/i/logo.png';
    Ответ написан
    2 комментария