Est-il possible d'effacer un <input type='file' />
valeur de contrôle avec jQuery ? J'ai essayé ce qui suit :
$('#control').attr({ value: '' });
Mais ça ne marche pas.
Est-il possible d'effacer un <input type='file' />
valeur de contrôle avec jQuery ? J'ai essayé ce qui suit :
$('#control').attr({ value: '' });
Mais ça ne marche pas.
Je suis coincé avec toutes les options ici. Voici un hack que j'ai fait et qui a fonctionné :
<form>
<input type="file">
<button type="reset" id="file_reset" style="display:none">
</form>
et vous pouvez déclencher la réinitialisation en utilisant jQuery avec un code similaire à celui-ci :
$('#file_reset').trigger('click');
(jsfiddle : http://jsfiddle.net/eCbd6/ )
Rendez-le asynchrone, et réinitialisez-le après que les actions souhaitées du bouton ont été effectuées.
<!-- Html Markup --->
<input id="btn" type="file" value="Button" onchange="function()" />
<script>
//Function
function function(e) {
//input your coding here
//Reset
var controlInput = $("#btn");
controlInput.replaceWith(controlInput = controlInput.val('').clone(true));
}
</script>
J'ai essayé la plupart des techniques mentionnées par les utilisateurs, mais aucune ne fonctionne dans tous les navigateurs. Par exemple, clone() ne fonctionne pas dans FF pour les entrées de fichiers. J'ai fini par copier manuellement l'entrée du fichier, puis par remplacer l'original par celui qui a été copié. Cela fonctionne dans tous les navigateurs.
<input type="file" id="fileID" class="aClass" name="aName"/>
var $fileInput=$("#fileID");
var $fileCopy=$("<input type='file' class='"+$fileInput.attr("class")+" id='fileID' name='"+$fileInput.attr("name")+"'/>");
$fileInput.replaceWith($fileCopy);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.