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 :

Ajout/suppression de champs


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 57
    Points
    57
    Par défaut Ajout/suppression de champs
    Bonjour,

    J'ai fait un script qui permet d'insérer et de supprimer des champs dans un formulaire.
    L'ajout marche très bien! mais la suppression bug un peu!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <script type="text/javascript">
    //<![CDATA[
    jQuery(document).ready(function()
    {
    	jQuery("span#add_tag").click(function(event) {
    	  	event.preventDefault(); // empêche le traitement par défaut de l'évenement
    		});
    	jQuery("img#remove_tag").click(function() {
    		jQuery(this).parent().empty();
    	});
    	jQuery("span#add_tag").click(function() {
    		jQuery("#liste_conteneurs").append('<p><img src="<?php echo _PATH_IMAGES_; ?>remove.png" alt="" border="0" style="cursor: pointer" id="remove_tag"/><label for="nom_conteneur">Nom  <input type="text" name="nom_conteneur[]" /></label></p>');
    	});
    });
    </script>



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form method="post" name="form1" id="form1">
     
    <input type="hidden" value="" name="id_table"/>
     
    <div id="liste_conteneurs">
    <p><img border="0" id="remove_tag" style="cursor: pointer;" alt="" src="http://127.0.0.1/mercurius/libs/templates/images/remove.png"/><label for="nom_conteneur">Nom  <input type="text" name="nom_conteneur[]"/></label></p>
     
    </div>
     
        <span id="add_tag" style="cursor: pointer;"><img border="0" alt="" src="http://127.0.0.1/mercurius/libs/templates/images/add.png"/> Ajouter conteneur</span>
      <p><input type="submit" value="Ajouter" name="envoyer"/></p>
     
    </form>
    Mon problème est le suivant: quand je clic sur image remove affecté à un champ présente dès la création du formulaire tout se passe bien. Cependant quand j'ajoute un nouveau champs dynamiquement et que je clic sur le bouton remove, rien ne se passe...

    une idée?

    Merci d'avance

    Laurent

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Tu assignes les évènements une fois le DOM initial prêt. Tout nouvel élément
    inséré par après n'a pas d'évènement assigné.

    deux possibilités:

    1) Assigner à nouveau les évènement après modification du DOM
    2) utiliser Jquery live
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Tu utilise un chemin absolue pour les sources d'image, une fois hébergé, les images ne seront plus trouvés. Utilises un chemin relatif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img border="0" id="remove_tag" style="cursor: pointer;" alt="" src="./libs/templates/images/remove.png"/>

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 57
    Points
    57
    Par défaut
    2) utiliser Jquery live
    Merci bcp j'ai bien compris comment ca marche

    Tu utilise un chemin absolue pour les sources d'image, une fois hébergé, les images ne seront plus trouvés. Utilises un chemin relatif
    tous les paths sont gérés par un fichier de configuration en PHP! no stress ^^

    Merci bcp

    Laurent

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

Discussions similaires

  1. [jQuery] Formulaire : auto complétion et ajout/suppression de champs
    Par Foxhoound dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/03/2012, 22h22
  2. [AJAX] ajout / suppression champs ( dynamiquement ) dans une page web
    Par anwar1987 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/03/2009, 18h37
  3. Ajout/Suppression dynamique de champs
    Par hedgehog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/04/2008, 10h57
  4. Ajout/suppression "dynamique" d'un champ
    Par 6ix dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 19/04/2008, 11h11
  5. Ajout / suppression de champ
    Par shnouf dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 05/12/2006, 17h29

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