IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Javascript non appelé sur des champs construits "à la volée"


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut Javascript non appelé sur des champs construits "à la volée"
    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 "file") :

    Dans mon template :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ul class= "photos" data-prototype= " {{ form_widget ( formAdvert.photos.vars.prototype )| e ( 'html_attr' ) }} " >
    Dans mon fichier javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('input[type="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!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    C'est un classique JQUERY

    il faut passer par l'attribution de l'event par délégation avec on à partir d'un parent. avec 3 paramètres (event, element cible, fonction)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $([selecteurParent]).on( 'change', 'input[type="file"]',function() {
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Super, merci, ça a résolu mon problème!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [10G] tri d'un bloc sur des champs non basés
    Par bellig dans le forum Forms
    Réponses: 1
    Dernier message: 12/10/2012, 16h13
  2. [WD11] Filtre sur des champs non clé
    Par shadowdiablo dans le forum WinDev
    Réponses: 20
    Dernier message: 09/09/2009, 20h35
  3. Réponses: 3
    Dernier message: 06/06/2007, 15h42
  4. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo