Estoy desarrollando una aplicación de metro con VS2012 y Javascript
Quiero restablecer el contenido de mi entrada de archivo:
<input type="file" id="uploadCaptureInputFile" class="win-content colors" accept="image/*" />
¿Cómo debo hacer eso?
Estoy desarrollando una aplicación de metro con VS2012 y Javascript
Quiero restablecer el contenido de mi entrada de archivo:
<input type="file" id="uploadCaptureInputFile" class="win-content colors" accept="image/*" />
¿Cómo debo hacer eso?
inputElement.value = ""
hace el truco muy bien sin tener que recurrir a la clonación o la envoltura como se sugiere. Funciona en CH (46), IE (11) y FF (41)Respuestas:
La solución jQuery que @ dhaval-marthak publicó en los comentarios obviamente funciona, pero si observa la llamada real de jQuery, es bastante fácil ver qué está haciendo jQuery, simplemente estableciendo el
value
atributo en una cadena vacía. Entonces, en JavaScript "puro" sería:fuente
$(#myfileselector).trigger('fileselect', [1, ""]);
Debe ajustarse
<input type = “file”>
a las<form>
etiquetas y luego puede restablecer la entrada restableciendo su formulario:fuente
$("form").get(0).reset();
. El.get(0)
devolverá el elemento de formulario real para que pueda usar lareset()
función.Esta es la mejor solución:
De todas las respuestas aquí, esta es la solución más rápida. Sin clon de entrada, sin reinicio de formulario.
Lo revisé en todos los navegadores (incluso tiene soporte para IE8).
fuente
input.type
también? Establecer solo el valor''
es dar el resultado esperado.onchange
evento en MS Edge?En caso de que tenga lo siguiente:
entonces solo haz:
para restablecer el control de archivo.
fuente
inputFileEl.value = '';
Simplemente puede clonarlo y reemplazarlo consigo mismo, con todos los eventos aún adjuntos:
y
Gracias: css-tricks.com
fuente
value
gusta en otras respuestas parece mucho más sencillo que manipular el DOM.Otra solución (sin seleccionar elementos HTML DOM)
Si agregó el detector de eventos 'change' en esa entrada, entonces en el código javascript puede llamar (para algunas condiciones específicas):
Por ejemplo en HTML:
Y en javascript:
fuente
.
delante de la extensión de archivo.SOLUCIÓN
El siguiente código funcionó para mí con jQuery. Funciona en todos los navegadores y permite preservar eventos y propiedades personalizadas.
MANIFESTACIÓN
Vea este jsFiddle para el código y la demostración.
ENLACES
Consulte Cómo restablecer la entrada de archivos con JavaScript para obtener más información.
fuente
<input type="file">
con ID específico.¡Restablecer un botón de carga de archivos es muy fácil usando JavaScript puro !
Hay pocas formas de hacerlo, pero la forma más sencilla que funciona bien en muchos navegadores es cambiar el valor archivado a nada, de esa manera la carga archivada se restablece, también trato de usar JavaScript puro en lugar de cualquier marco, creé el código a continuación, solo échale un vistazo (ES6):
fuente
Particularmente para angular
Funcionará, pero si usa Angular, dirá "Propiedad 'valor' no existe en el tipo 'HTMLElement'.any"
document.getElementById () devuelve el tipo HTMLElement que no contiene una propiedad de valor. Entonces, envíalo a HTMLInputElement
EXTRA: -
Sin embargo, no debemos usar la manipulación DOM (document.xyz ()) en angular.
Para hacer eso, angular ha proporcionado @VIewChild, @ViewChildren, etc., que son document.querySelector (), document.queryselectorAll () respectivamente.
Incluso yo no lo he leído. Es mejor seguir los blogs de expertos
Ir a través de este enlace1 , enlace2
fuente
Yo uso para vuejs
fuente
El archivo de entrada de restablecimiento está en un solo
$('input[type=file]').val(null);
Si vincula restablecer el archivo en cambio otro campo del formulario, o cargar el formulario con ajax.
Este ejemplo es aplicable
selector por ejemplo es
$('input[type=text]')
o cualquier elemento del formularioevento
click
,change
o cualquier eventofuente
Con IE 10 resolví el problema con:
dónde :
fuente
fuente
Hay muchos enfoques y sugeriré ir con el archivo adjunto ref a la entrada.
para borrar el valor después de enviar.
fuente
Solo usa:
fuente
Con angular puede crear una variable de plantilla y establecer el valor en
null
O puede crear un método para restablecer así
componente.ts
modelo
demo stackblitz
fuente
No puede restablecerlo ya que es un archivo de solo lectura. puede clonarlo para solucionar el problema.
fuente
Deberías probar esto:
fuente
Esto podría hacerse así
fuente
Mi mejor solucion
fuente
Solución jQuery:
fuente
on change
se activa el evento de entrada del archivo, el valor se borra. El tipo de entrada se restablece de none a file.Me enfrenté al problema con ng2-file-upload para angular. si está buscando la solución en angular, consulte el siguiente código
HTML:
<input type="file" name="myfile"
#activeFrameinputFileng2FileSelect [uploader]="frameUploader" (change)="frameUploader.uploadAll()" />
componente
import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';
@ViewChild('
activeFrameinputFile')
InputFrameVariable: ElementRef;
this.frameUploader.onSuccessItem = (item, response, status, headers) => {
};
fuente
fuente
Si tiene varios archivos en su formulario pero solo desea que se restablezca uno de ellos:
si usa boostrap, jquery, filestyle para mostrar la forma del archivo de entrada:
fuente
fuente
Funciona también para controles dinámicos.
Javascript
JQuery
fuente
fuente