Přejít na hlavní obsah

Jednoduché způsoby, jak vyčistit pole výběru souboru v input type file pomocí JavaScriptu

input type file – je to jeden z nejoblíbenějších prvků formuláře, který uživatelům umožňuje vybrat a nahrát soubory na webovou stránku. Po výběru souboru, pokud uživatel změnil názor a chce jej smazat, to však standardní prostředky prohlížeče nemohou. V tomto článku se podíváme na to, jak odstranit vybraný soubor z input type file pomocí JavaScriptu.

Odstranění souboru z input type file může být užitečné v různých případech. Například pokud uživatel zvolil špatný soubor nebo se rozhodl jej vůbec nestáhnout. Také odstranění souboru může být nutné při realizaci fotoalba nebo galerie, když uživatel chce nahradit vybranou fotografii novou.

K odstranění vybraného souboru z input type file můžeme použít vlastnosti a metody JavaScriptu. Nejjednodušším řešením je jednoduše vymazat hodnotu input položky, která zobrazuje název vybraného souboru. Zde je návod, jak to udělat:

Jak odstraním soubor z input type file pomocí JavaScriptu?

Když uživatel vybere soubor pomocí položky input s atributem type= "file", můžeme v případě potřeby použít JavaScript k odstranění vybraného souboru. Podle níže uvedených kroků můžete tuto funkci implementovat:

  1. Nejprve musíte získat přístup k prvku input pomocí jeho id nebo queryselectoru . Pokud má například prvek input id= "fileInput", můžete k němu přistupovat následovně: const fileInput = document.getElementById("fileInput");
  2. Poté je třeba přidat obslužnou rutinu události změny souboru do položky input . To lze provést pomocí metody addEventListener . Chcete-li například přidat obslužnou rutinu, když je soubor změněn, použijte následující kód: fileInput.addEventListener("change", handleFileChange);
  3. Ve funkci handleFileChange, kterou jsme uvedli v předchozím kroku, můžeme vybraný soubor získat pomocí vlastnosti files objektu input . Chcete-li například získat vybraný soubor, použijte následující kód: const selectedFile = fileInput.files[0];
  4. Nakonec, pokud chceme odstranit vybraný soubor, můžeme použít metodu remove k odstranění položky z její nadřazené položky. Chcete-li například odstranit vybraný soubor z položky input , použijte následující kód: fileInput.parentNode.removeChild(fileInput);

Nyní, pokud uživatel vybere soubor pomocí položky input a chcete tento soubor odstranit, můžete tuto funkci snadno implementovat pomocí JavaScriptu.

Popis a funkce input type file

Prvek s atributem type= "file" (také známý jako input type file) se používá k vytvoření pole pro zadávání souborů v HTML formách. Umožňuje uživatelům vybrat si jeden nebo více souborů na svých zařízeních pro pozdější zpracování.

Základní vlastnosti prvku input type file:

ZvláštnostPopis
Výběr souboruUživatel si může vybrat jeden nebo více souborů na svém zařízení pomocí tlačítka pro výběr souboru.
Stažení souboruVybraný soubor lze nahrát na server odesláním formuláře nebo pomocí JavaScriptu a dotazu AJAX.
OmezeníMůžete nastavit omezení na typy souborů, které si můžete vybrat, a na jejich velikost.
Zobrazení názvu souboruPo výběru souboru může být na stránce zobrazen jeho název.
Vymazání vybraného souboruPomocí JavaScriptu je možné odstranit vybraný soubor z pole input type file.

Prvek input type file je široce používán ve webovém vývoji k implementaci funkčnosti stahování souborů, včetně stahování obrázků, dokumentů, archivů a dalších typů souborů.

Proč nelze soubor odstranit přímo z input type file?

Omezení smazání souboru přímo z input type file je podmíněno zásadami zabezpečení a ochrany osobních údajů uživatele. Pokud by bylo možné odstranit soubor přímo z input type file, mohlo by to vést k potenciálnímu úniku dat nebo neoprávněnému smazání smysluplných souborů.

Když uživatel vybere soubor v input type file, není k dispozici pro přímé úpravy nebo mazání. Pokud chce uživatel smazat soubor, který byl vybrán v input type file, musí použít jiné nástroje nebo rozhraní. Můžete například přidat tlačítko "Odstranit" vedle souboru input type file, aby uživatel mohl soubor odstranit pomocí JavaScriptu nebo odeslat požadavek na smazání souboru na serveru.

Celkově je zabezpečení a soukromí dat hlavním důvodem, proč soubor nelze odstranit přímo z input type file. Toto omezení pomáhá chránit uživatele před potenciálními hrozbami a udržet jejich data v bezpečí.

Jak získáte přístup k vybranému souboru v souboru input type file?

Chcete-li získat přístup k vybranému souboru při použití prvku input typu file v JavaScriptu, můžete použít objekt FileList a metody DOM.

1. Nejprve získejte odkaz na položku input souboru:

var fileInput = document.getElementById('fileInput');

2. Poté pro přístup k vybranému souboru použijte vlastnost files objektu FileList:

var selectedFile = fileInput.files[0];

3. K získání informací o souboru můžete použít vlastnosti vybraného souboru, jako je name, size, type, lastModified:

var fileName = selectedFile.name; var fileSize = selectedFile.size; var fileType = selectedFile.type; var lastModified = selectedFile.lastModified;

4. Můžete také použít metody File API, jako je readAsText() nebo readAsDataURL(), abyste si přečetli obsah souboru nebo vytvořili základní datový řetězec:

var reader = new FileReader(); reader.onload = function(event) < var fileContent = event.target.result; // действия с содержимым файла >; reader.readAsText(selectedFile);

Pomocí těchto kroků můžete přistupovat k vybranému souboru a provádět potřebné operace s jeho obsahem nebo vlastnostmi.

Jak smažu vybraný soubor pomocí JavaScriptu?

Při použití položky input type= "file" může uživatel vybrat soubor z počítače ke stažení na server. Ale co když po výběru souboru uživatel změnil názor a chce jej smazat? V takovém případě můžete použít JavaScript k odstranění vybraného souboru ze vstupního prvku.

Nejprve se budeme muset obrátit na prvek input pomocí jeho id pomocí metody getElementById . Poté můžeme hodnotu tohoto prvku vymazat nastavením jeho vlastnosti hodnoty do prázdného řádku:

var fileInput = document.getElementById('fileInput');fileInput.value = '';

Po provedení těchto řádků kódu bude vybraný soubor odstraněn ze vstupního prvku a uživatel bude moci vybrat jiný soubor nebo ponechat pole prázdné.

Všimněte si, že jednoduše odstraní soubor ze vstupního prvku, ale neodstraní jej ze serveru nebo z počítače uživatele. Pokud potřebujete odstranit soubor ze serveru, budete muset provést další kroky na straně serveru.

Příklad kódu pro odstranění vybraného souboru v input type file

Zde je příklad jednoduchého kódu, který vám umožní odstranit vybraný soubor v prvku input s typem souboru pomocí JavaScriptu:

const fileInput = document.querySelector('input[type="file"]');const removeButton = document.querySelector('#remove-button');function handleRemoveFile() removeButton.addEventListener('click', handleRemoveFile);

V tomto příkladu začínáme odkazem na prvek input s typem souboru pomocí metody querySelector. Poté obdržíme odkaz na tlačítko pro odstranění souboru pomocí metody querySelector na základě jedinečného identifikátoru tlačítka.

Poté definujeme funkci handleRemoveFile, která přiřadí hodnotu prvku input null, což umožňuje odstranit vybraný soubor.

Nakonec přidáme obslužnou rutinu události k tlačítku pro odstranění souboru, které při kliknutí na tlačítko vyvolá funkci handleRemoveFile.

Toto je snadný způsob, jak odstranit vybraný soubor v prvku input s typem souboru pomocí JavaScriptu.