Nun, der Grund, warum ich die Schaltfläche “Datei löschen” habe, ist, dass, wenn Sie auf die Schaltfläche klicken, alles gelöscht wird, was sich in der Dateieingabe befindet. Wie codiere ich es, damit es die Dateieingabe tatsächlich löscht, wenn ich auf die Schaltfläche “Datei löschen” klicke?
Ja, es ist ein relativ einfach jQuery-Code. Es ist eine Cross-Browser-Lösung.
– Guillaume Poussel
8. März 2012 um 12:45 Uhr
Leute, <input type=file /> ist readonly nach Auswahl der Datei in >= IE8hier ist aus Sicherheitsgründen das ähnliche Q und der entsprechende A für die hier vorgeschlagene Lösung.
– Paul T. Rawkeen
1. August 2012 um 7:36 Uhr
<input type=file /> Der Datentyp ist eine Datei, wir können ihn nicht löschen, indem wir eine leere Zeichenfolge an das Eingabefeld übergeben.
– Usman Mogul
16. Oktober 2017 um 11:24 Uhr
Arbeite auch an Chrome. Das kann nützlich sein, um diese stackoverflow.com/a/11953476/1830909 und meinen Kommentar darunter zu sehen.
– QMaster
7. Oktober 2018 um 17:08 Uhr
Wie kann ich Dateien beim Hochladen mehrerer Dateien in der Dateieingabe mit jquery entfernen?
Aber wenn das Dateieingabeelement von einem anderen Element ausgelöst wird (mit einer htmlFor -Attribut) – das bedeutet, dass Sie das Ereignis nicht haben
Sie könnten also eine Referenz verwenden:
zu Beginn der Funktion:
const inputRef = React.useRef();
am Eingabeelement
<input type="file" ref={inputRef} />
und dann auf eine onClick-Funktion (zum Beispiel) u schreiben können
inputRef.current.value = ""
in Reaktionsklassen – gleiche Idee, aber Unterschied im Konstruktor: this.inputRef = React.createRef()
Meditari
Dies ist die Methode, die ich auch gerne verwende, aber ich glaube, Sie müssen der Klonmethode den Parameter bool true hinzufügen, damit alle Ereignisse mit dem neuen Objekt verbunden bleiben, und Sie müssen den Inhalt löschen.
var input = $("#fileInput");
function clearInput() {
input = input.val('').clone(true);
};
Holen Sie sich die Eingabe-ID und setzen Sie val leer wie unten: Hinweis: Setzen Sie kein Leerzeichen zwischen val leere doppelte Anführungszeichen val(” “).
$('#imageFileId').val("")
einfache und großartige Lösung zum Löschen der Dateieingabe
– Mohammed Raza
16. Dezember 2021 um 20:06 Uhr
Syscall
Indem man es einstellt $("ID").val(null)hat bei mir funktioniert
einfache und großartige Lösung zum Löschen der Dateieingabe
– Mohammed Raza
16. Dezember 2021 um 20:06 Uhr
Eismann
Eine andere Lösung, wenn Sie sicher sein möchten, dass dies browserübergreifend möglich ist, besteht darin, das Tag zu entfernen () und dann append () oder voranzustellen () oder auf andere Weise eine neue Instanz des Eingabe-Tags mit denselben Attributen erneut hinzuzufügen .
Siehe dies: stackoverflow.com/questions/1043957/…
– Sudhir Bastakoti
8. März 2012 um 12:41 Uhr
Siehe dies auch forum.jquery.com/topic/how-to-clear-a-file-input-in-ie
– Kein Krieg
21. Juli 2015 um 15:02 Uhr