Bonjour,

Dans un formulaire d'encodage d'une anonce, je donne la possibilité d'uploader des photos. Comme leur nombre est indéterminé, via un bouton "Ajouter une photo" l'utilisateur peut ajouter "à la volée" un nouveau champ d'upload (champ de type FileType) :

Dans mon template :

<ul class= "photos" data-prototype= " {{ form_widget ( formAdvert.photos.vars.prototype )| e ( 'html_attr' ) }} " >

Dans mon fichier javascript :

function addPhotoForm( collectionHolderPhotos , $newLinkLi ) {
...
}

Or, afin de pouvoir afficher un preview de la photo avant qu'elle ne soit enregistrée, j'ai du javascript lié aux champs de type file de mon document :

$("input:file").change(function() {
...
}

Pour un champ qui existe lors de la construction initiale du template, tout va bien, le javascript est bien exécuté lorsque le champ file est modifié. Par contre, s'il s'agit d'un champ créé via le javascript, le javascript lié au champ file n'est pas exécuté. En d'autres termes, le preview de la photo ne s'effectue alors pas.

Quelqu'un aurait une idée quant à la méthode pour résoudre ceci?

Merci d'avance pour votre aide!

1 réponse


dubitoph
Auteur
Réponse acceptée

Problème résolu