2017-01-20 1 views
0

Il y a plusieurs champs <input type='file' /> dans mon fichier et il n'y a pas de html form s. Je veux effacer les fichiers joints de particulier <input type='file' />. Pas de tous les domaines. J'ai utiliser $('input').val(""); mais il efface tous les champs <input type='file' />. Alors, comment puis-je effacer les fichiers joints de domaine particulier <input type='file' />?Comment effacer les fichiers de <input type = 'file' /> en utilisant jQuery ou JavaScript

var control = $("#mcontrol"); 
 

 
$("#clear").on("click", function() { 
 
    $('input').val(""); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" id="mcontrol" /><br> 
 
<input type="file" id="mcontrol2" /> 
 
<button id="clear">Clear</button>

Voici le fiddle

+1

Regardez ici (en utilisant jquery): http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery – PaTT

+1

aussi votre violon, il manque un lien à jQuery donc il échoue sur le premier '$' –

+1

duplication possible de [Clearing en utilisant jQuery] (http://stackoverflow.com/questions/1043957/clearing-input-type-file- using-jquery) – AymDev

Répondre

2

En utilisant JavaScript, vous pouvez le faire comme suit.

document.getElementById("#mcontrol").value = "";

+0

Oui celui-ci a résolu mon problème. – isuru

+0

@isuru, pouvez-vous m'expliquer comment ceci est différent de ma réponse si vous dites que vous avez inclus 'jQuery'? Je pense que vous avez mal inclus le jQuery ou vous ne l'incluez pas du tout. Cette réponse est la même que la mienne uniquement en JavaScript. – Ionut

+0

@Ionut Comme je pense qu'il devrait être problème de version jQuery. J'ai essayé avec votre réponse, mais il renvoie 'Uncaught TypeError: control.val n'est pas une erreur de fonction at HTMLImageElement.img.onload'. – isuru

2

Vous pouvez utiliser le id vous avez déjà défini:

var control = $("#mcontrol"); 
 
$("#clear").on("click", function() { 
 
    control.val(""); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" id="mcontrol" /> 
 
<br> 
 
<input type="file" id="mcontrol2" /> 
 
<button id="clear">Clear</button>

+0

Cela semble correct mais cela ne fonctionne pas dans mon script. – isuru

+0

@isuru, avez-vous la bibliothèque 'jQuery' incluse? – Ionut

+0

Oui. Ma version de JQuery est v1.11.3. Je pense que c'est le problème. – isuru

1
// For first file feild 
$("#clear").on("click", function() { 

    $('#mcontrol1').val(""); 
}); 

// For second file feild 
$("#clear").on("click", function() { 

    $('#mcontrol2').val(""); 
}); 
+1

Veuillez essayer de fournir un contexte avec votre réponse. Une réponse autonome peut résoudre un problème dans ce scénario spécifique, mais une explication peut résoudre de nombreux problèmes futurs. Essayez d'inclure ce que vous pensez qui cause le problème et pourquoi votre réponse le résoudra. – Newd