Autor Zpráva
err
Profil *
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
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 *
Firibix:
potřeboval bych zkopírovat jen jeden soubor ze seznamu souborů, jde to?
Firibix
Profil
Reakce na err:
Nejde. Do inputu je možné přiřadit jen seznam, ale nelze vytvořit nový, ani modifikovat existující.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0