| Autor | Zpráva | ||
|---|---|---|---|
| err Profil * |
#1 · Zasláno: 17. 3. 2023, 21:28:32
Ahoj, mám toto:
input.addEventListener('change', mojeFunkce);
function mojeFunkce(e) {
for (let i = 0; i < e.target.files.length; i++)
let new_inp = document.createElement('input');
new_inp.type = "file";
let temp_file = new DataTransfer();
temp_file.items.add(e.target.files[i]);
new_inp.files = temp_file;
}Potřebuju pro jeden soubor vytvořit zvláštní input. Jak ta mám přenést ty data? Píše mi to Uncaught TypeError: HTMLInputElement.files setter: Value being assigned does not implement interface FileList. |
||
| Firibix Profil |
#2 · Zasláno: 17. 3. 2023, 22:30:41
Reakce na err:
1.) Kolem for cyklu chybí složené závorky.
2.) Property files (řádek 9) očekává FileList, tvůj kód mu nesmyslně předává DataTransfer, který se používá pro reprezentaci drag&drop operací.
FileList nemá konstruktor, nelze ho tedy ručně vytvořit. Uživatel musí soubor v inputu vybrat sám, JavaScript mu tam nemůže podstrčit vlastní hodnotu. Maximálně lze zkopírovat seznam vybraných souborů z jednoho inputu do druhého, ale není možné ho modifikovat.
|
||
| err Profil * |
#3 · Zasláno: 17. 3. 2023, 22:36:15
Firibix:
potřeboval bych zkopírovat jen jeden soubor ze seznamu souborů, jde to? |
||
| Firibix Profil |
#4 · Zasláno: 17. 3. 2023, 22:49:30
Reakce na err:
Nejde. Do inputu je možné přiřadit jen seznam, ale nelze vytvořit nový, ani modifikovat existující.
|
||
|
Časová prodleva: 3 roky
|
|||
0