Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.04.2016, 12:41
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Если я правильно понял, вариант предложенный Decode неправильный.
Ответить с цитированием
  #12 (permalink)  
Старый 19.04.2016, 13:11
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от St. Посмотреть сообщение
Если я правильно понял, вариант предложенный Decode неправильный.
Чем? Мой тестовый пример сделан на основе варианта Decode. В чем он неправильный?
Ответить с цитированием
  #13 (permalink)  
Старый 19.04.2016, 14:06
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Сообщение от Dilettante_Pro Посмотреть сообщение
Чем? Мой тестовый пример сделан на основе варианта Decode. В чем он неправильный?
Я же написал: "Если я правильно понял...". Это для кого написано?

Возьмите мой пример с функцией от Decode и сделайте следующие.
1. Добавить файл 1.
2. Добавить файл 2.
3. Удалить 1-й файл.
4. Добавить 1-й файл.
5. Отправить.

Что у вас $_FILES?
У меня херня (вместо двух файлов, там один).
Ответить с цитированием
  #14 (permalink)  
Старый 19.04.2016, 14:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
Только там нет возможности очистить файл
Этого просто нельзя сделать. Любое поле для замены:

<script> 
function clearField(f) {
    var t = f.tagName;
    return '<'+t+' ' + [].map.call(f.attributes, function(o) {
        return o.name + '="' + o.value + '"'
    }).join(' ') + (t=='TEXTAREA' ? '</'+t+'>' : ' />');
}
</script>
<input class="as" name="f" value="12" data-d="2" onclick="alert(clearField(this))" />

Последний раз редактировалось laimas, 19.04.2016 в 14:35.
Ответить с цитированием
  #15 (permalink)  
Старый 19.04.2016, 14:48
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Сообщение от laimas Посмотреть сообщение
Этого просто нельзя сделать. Любое поле для замены:
...
...
...
"Все просто, все понятно..."

Последний раз редактировалось St., 19.04.2016 в 14:51.
Ответить с цитированием
  #16 (permalink)  
Старый 19.04.2016, 14:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

St.,
Да, без form вроде все нормально, как только вставляешь в form - все ломается
Ответить с цитированием
  #17 (permalink)  
Старый 19.04.2016, 15:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
Что у вас $_FILES?
У меня херня (вместо двух файлов, там один).
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script>
document.addEventListener("DOMContentLoaded", function() { 
    document.querySelector('#fgroup').addEventListener('click', function(e) {
        var o = e.target || e.srcElement;
        if(o.className=="del") o.parentNode.innerHTML = getField(o.parentNode.firstChild) + getField(o) 
    }) 
});

function getField(f) {
    var t = f.tagName;
    return '<'+t+' ' + [].map.call(f.attributes, function(o) {
        return o.name + '="' + o.value + '"'
    }).join(' ') + '>' + (t=='TEXTAREA' || t=='BUTTON' ? '</'+t+'>' : '');
}
</script>     
</head> 
<body>
<pre>
<?php
if($_FILES) print_r($_FILES)
?>
</pre>
<form enctype="multipart/form-data" method="post">
    <div id="fgroup">
        <div class="box"><input type="file" name="as[]" /><input class="del" type="button" value="Clear" /></div>
        <div class="box"><input type="file" name="as[]" /><input class="del" type="button" value="Clear" /></div>
        <div class="box"><input type="file" name="as[]" /><input class="del" type="button" value="Clear" /></div>
    </div>
    <button>Send</button>
</form>
</body> 
</html>


Ни куда не денутся файлы, если форма корректна.
Ответить с цитированием
  #18 (permalink)  
Старый 19.04.2016, 16:22
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Пробывал вариант Iaimas - работает.

Уважаемые, спасибо.
Спасибо: Decode, laimas, Dilettante_Pro.
Ответить с цитированием
  #19 (permalink)  
Старый 19.04.2016, 16:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
Пробывал вариант Iaimas - работает.
Да любой вариант, имеется ввиду способ замены поля в форме, будет работать, если результат замены есть корректная форма.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с input type file Moloch jQuery 6 29.07.2015 17:36
Пустой file input суссесфул или не successful? kostyanet Элементы интерфейса 0 08.01.2015 08:51
file input выгрузить выбранный файл Esigns Events/DOM/Window 7 30.11.2012 16:05
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Обработка нескольких file input Temlekur Работа 8 21.01.2010 18:30