Effacer le contrôle d'entrée de fichier avec jQuery
La question se pose : est-il possible de réinitialiser la valeur d'un contrôle d'entrée de fichier HTML (< type d'entrée = "fichier") en utilisant jQuery ? L'approche conventionnelle consistant à définir la valeur de l'élément sur une chaîne vide via attr({ value: '' }) s'avère inefficace.
Pour résoudre ce problème, une solution unique émerge. Le contrôle d’entrée de fichier est enveloppé dans un élément de formulaire. Par la suite, la méthode de réinitialisation est invoquée sur le formulaire, effaçant ainsi les valeurs saisies. Enfin, le formulaire est supprimé à l'aide de la fonction unwrap().
Essentiellement, cette technique laisse le contrôle d'entrée du fichier d'origine intact, préservant toutes les propriétés ou attributs personnalisés. Des tests ont confirmé sa compatibilité avec une gamme de navigateurs, notamment Opera, Firefox, Safari, Chrome et IE6.
Pour plus de polyvalence, cette approche peut également être appliquée à d'autres éléments de formulaire. Cependant, les champs de saisie masqués restent une exception.
Vous trouverez ci-dessous un extrait de code qui montre comment mettre en œuvre cette solution :
window.reset = function(e) { e.wrap('<form>').closest('form').get(0).reset(); e.unwrap(); };</p> <pre class="brush:php;toolbar:false"><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form> <input>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!