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 input u vybrat sám, JavaScript mu tam nemůže podstrčit vlastní hodnotu. Maximálně lze zkopírovat seznam vybraných souborů z jednoho input u 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 input u je možné přiřadit jen seznam, ale nelze vytvořit nový, ani modifikovat existující.
|
||
Časová prodleva: 5 dní
|
0