Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2014, 13:48
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

Drag&Drop превью
Добрый день. Подскажите как реализовать превью с кнопочками для удаления после загрузки картинок?
Есть код самой загрузки
dropzone = document.getElementById('dropbox');
maxFileSize = 100000;
dropzone.ondragover = function() {
        dropzone.style.ClassName='hover';
        console.log('ondragover');
        return false;
    };
    
    dropzone.ondragleave = function() {
        dropzone.style.ClassName='';
        console.log('ondragleave');
        return false;
    };
    dropzone.ondrop = function(event) {
        event.preventDefault();
        dropzone.style.ClassName='';
        dropzone.style.ClassName='drop';
        i=0;
        var file = event.dataTransfer.files;
        for(i=0;i<file.length;i++)
       {
        if (file[i].size > maxFileSize) {
            dropzone.innerHTML='Файл слишком большой! Размер файла: '+file[i].size+'. Разрешенный размер файла: '+maxFileSize;
            dropzone.style.ClassName='error';
            return false;
        }
       
       }
    };
    function uploadProgress(event) {
        var percent = parseInt(event.loaded / event.total * 100);
        dropzone.innerHTML = 'Загрузка: ' + percent + '%';
    }
    
    function stateChange(event) {
        if (event.target.readyState == 4) {
            if (event.target.status == 200) {
                dropzone.innerHTML='Загрузка успешно завершена!';
            } else {
                dropzone.innerHTML = 'Произошла ошибка!';
                dropzone.style.ClassName = 'error';
            }
        }
    }
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2014, 02:12
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

После загрузки куда - в форму или на сервер?

Вариант 2 - с сервера приходит хтмл со всеми src и кнопочками.

Вариант 1 - в браузере делаются тумбы из канваса.

В терминах отправки формы удалить можно только все файлы висящие на данной кнопке. По-отдельности удалить нельзя. Или на каждый файл надо делать кнопку file и таскать по-одному.
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2014, 02:16
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Вариант 2, вместо

dropzone.innerHTML='Загрузка успешно завершена!';

должен прийти html или json с сервера и

dropzone.innerHTML=link.responseText; // например
Ответить с цитированием
  #4 (permalink)  
Старый 26.11.2014, 02:26
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Можно, пользуясь случаем, еще раз задать вопрос по драгу тем, кто его делает? Спасибо.

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

Я к тому, что не надо тратить силы и время на эту фичу вообще. Ни один нормальный юзер ей не воспользуется никогда.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод превью картинки до загрузки на сервер chapser AJAX и COMET 0 12.08.2014 01:01
Смещение превью lightbox Titanum jQuery 0 25.07.2014 17:35
Превью изображений до загрузки Mukhtar Events/DOM/Window 2 01.03.2013 18:33
как удалить фото из превью? Mukhtar Events/DOM/Window 2 05.12.2012 13:02
Превью сайта honestus Events/DOM/Window 9 23.05.2011 15:04