Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2014, 16:46
Интересующийся
Отправить личное сообщение для greenbuger Посмотреть профиль Найти все сообщения от greenbuger
 
Регистрация: 18.05.2014
Сообщений: 11

Как сделать запрет выбора в input file
Долго бьюсь с проблемой, у меня есть пять
<input file name='foto1'>
<input file name='foto2'>
<input file name='foto3'>
<input file name='foto4'>
<input file name='foto5'>
Как сделать, что бы при выборе одинаковых картинок (одной и той же)
Выпадал алерт с оповещением, что такой фаил уже выбран
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2014, 16:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

Сообщение от greenbuger
Как сделать, что бы при выборе одинаковых картинок (одной и той же)
Сравнить картинки, в общем смысле, может только сервер... В самом
<input type='file' name='foto*' />

Ничего про то нет...

У ИЕ вроде хоть путь хранится/хранился...
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2014, 17:04
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Можешь имена файлов проверять в this.value.
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2014, 19:42
Интересующийся
Отправить личное сообщение для greenbuger Посмотреть профиль Найти все сообщения от greenbuger
 
Регистрация: 18.05.2014
Сообщений: 11

Я дуб дубом в js. если можно приведите пример или ссылку дайте где посмотреть пример, что бы я сообразил. как я понимаю один из простых вариантов сравнить пути у input file и если они совпадают, вызвать сообщение о повторном выборе картинки
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2014, 20:51
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

<input type="file">
<input type="file">
<input type="file">
<script>
var files = Array.prototype.slice.call(document.querySelectorAll('input[type=file]'), 0),
    fileValues = [];

files.forEach(function (file, index) {
    file.addEventListener('change', onFileChange);
    fileValues[index] = '';
});

function onFileChange() {
    try {
         var fileName = /([\w\d]+\.[\w\d]+)$/i.exec(this.value)[1]; // простая регулярка для примера. в имени файла допустимы только латинские буквы и цифры
    } catch (e) {
        alert('Упс, что-то не так с именем файла.');
        return;
    }
    if (fileValues.indexOf(fileName) > -1) {
        this.value = null;
        alert('Файл с такими именем уже существует.');
        return;
    }
    var fileIndex = files.indexOf(this);
    fileValues[fileIndex] = fileName;
}</script>

Последний раз редактировалось WorM32, 18.08.2014 в 15:15.
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2014, 22:57
Интересующийся
Отправить личное сообщение для greenbuger Посмотреть профиль Найти все сообщения от greenbuger
 
Регистрация: 18.05.2014
Сообщений: 11

Спасибо огромное, вы просто господь бог для меня теперь)
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
как передать click на input type="file" virginkoks Events/DOM/Window 3 18.02.2011 16:32
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
[newbie question] input (file) -> submit -> php(json) zatoichi AJAX и COMET 1 18.01.2011 12:18
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55