Sélecteur file
Le sélecteur :file sélectionne les éléments de
type file, qui sont des champs de téléchargement de fichiers.
L'équivalent de $(':file') est
$('[type=file]').
Étant donné que :file ne fait pas partie de la spécification CSS,
pour de meilleures performances dans les navigateurs modernes,
il est préférable d'utiliser [type='file'] à la place.
Syntaxe
Voici comment nous sélectionnons les éléments de type file :
$(':file');
Comme avec les autres sélecteurs de pseudo-classe
(commençant par ':'), il est préférable de placer
un nom de balise ou un autre sélecteur avant ':',
sinon le sélecteur '*' sera appliqué,
c'est-à-dire que $(':file') sera interprété comme
$('*:file'), c'est pourquoi il vaut mieux utiliser
$('input:file') à la place.
Exemple
Sélectionnons toutes les entrées de type file et
appliquons-leur un fond vert et une bordure rouge à l'aide de la méthode
css :
<form>
<input type="button" value="button">
<input type="file">
<input type="password">
<button>button</button>
<input type="reset">
<input type="radio" name="test">
<input type="radio" name="test">
<input type="checkbox">
<input type="text">
</form>
<+javascript+>
$('form input:file').css({background: 'green', border: '2px red solid'});
$('form').submit(function(event) {
event.preventDefault(); // empêche l'envoi du formulaire
});
<-javascript->