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

JavaScript Discussion :

Gérer les tableaux avec javascript et des champs de formulaire ajoutés dynamiquement ?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2016
    Messages : 12
    Points : 15
    Points
    15
    Par défaut Gérer les tableaux avec javascript et des champs de formulaire ajoutés dynamiquement ?
    Bonjour,

    J'ai un formulaire avec un champs catégorie. L'utilisateur peut ajouter à l'aide d'un bouton jusqu'a 30 catégories maximum.
    J'utilise ce bout de script et de jquery :

    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
    16
    17
    18
    <script>$(document).ready(function() {
        var max_fields      = 30; //maximum input boxes allowed
        var wrapper         = $(".input_fields_wrap"); //Fields wrapper
        var add_button      = $(".add_field_button"); //Add button ID
     
        var x = 1; //initlal text box count
        $(add_button).click(function(e){ //on add input button click
            e.preventDefault();
            if(x < max_fields){ //max input box allowed
                x++; //text box increment
                $(wrapper).append('<div>Catégorie : <input size="20" name="categorie[]" maxlength="50" value=""><a href="#" class="remove_field" style="margin-left:15px;">Supprimer</a></div>'); //add input box
            }
        });
     
        $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
            e.preventDefault(); $(this).parent('div').remove(); x--;
        })
    });</script>
    Pour résumer l'utilisateur peut ajouter jusqu'a 30 champs name="categorie[]" dans le formulaire name="formulaire"


    Sur la page suivante je récupére ma variable categorie[] sous forme de tableau et j'en fait ce que j'en veut en PHP, la dessus pas de problème.

    Mon soucis est sur la page actuelle, en effet je voudrais faire quelques vérifications en javascript lorsque la personne soumet le formulaire, mais je n'arrive tout simplement pas à extraire la valeur de chaque champs catégorie.

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function valider_formulaire()
    {
    alert(document.formulaire.categorie.value);
    document.formulaire.submit();
    }
    TypeError: document.formulaire.categorie is undefined

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.formulaire.categorie[].value);
    SyntaxError: expected expression, got ']'

    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.formulaire.categorie[0].value);
    TypeError: document.formulaire.categorie is undefined


    C'est comme si la page n'avait pas connaissance du tableau, est-ce que quelqu'un aurait une idée pour extraire en javascript les valeurs de ce tableau categorie ?

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 666
    Points
    66 666
    Billets dans le blog
    1
    Par défaut


    pourquoi ne pas utiliser jquery pleinement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('[name="categorie[]"]')
    ensuite pour les événements des objets ajoutés dynamiquement ...
    Il faut les attribuer dasn le ready avec on() par délégation depuis un élément parent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('parent').on('click','enfant', function(){ ... }
    ainsi tous les élements enfants de parent ajoutés dynamiquement APRES le chargement de la page recevront l'événement

Discussions similaires

  1. [WD-2013] Gérer les tableaux sous Word avec du JavaScript
    Par manutello_1976 dans le forum Word
    Réponses: 1
    Dernier message: 09/03/2016, 11h29
  2. Réponses: 2
    Dernier message: 15/12/2009, 12h29
  3. comment gérer les sessions avec du javascript ?
    Par zerros dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2009, 09h27
  4. Gérer les queue avec sql server ?
    Par devdev dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/06/2004, 17h38

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