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 :

Select multiple - lecture JS et PHP


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Trini
    Homme Profil pro
    Dresseur de puce
    Inscrit en
    Juillet 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dresseur de puce

    Informations forums :
    Inscription : Juillet 2005
    Messages : 189
    Par défaut Select multiple - lecture JS et PHP
    Bonjour,

    J'ai un problème de syntaxe sur un champ de type <select> ou dans les traitements de récupération des valeurs sélectionnées.

    J'ai par exemple une liste définie ainsi :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <select name="maListe">
    ...

    Pour récupérer les options sélectionnées en PHP, j'ai lu dans la FAQ PhP : ajouter les crochets pour traiter ce champ comme un tableau
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="maListe[]">
    OK pas de problème, ça marche impeccable !

    Mais j'ai aussi besoin d'effectuer un traitement en JS sur onChange et là la syntaxe générale pour parcourir la liste est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var frm=document.forms[0]
    for (i=0; i<frm.maListe.options.length; i++) {
    ...
    Dans ce cas j'ai l'erreur JS avec frm.maListe est Undefined, normal car le nom du Select est maListe[].

    Evidement cette syntaxe ne fonctionne pas non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var frm=document.forms[0]
    for (i=0; i<frm.maListe[].options.length; i++) {
    Et si je retire les crochets c'est bien sûr en PhP que cela ne fonctionne plus.

    Bref, comment faire pour que cela fonctionne en PhP ET en JS ? Elle est où mon erreur ?

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    pourquoi traiter le select comme un tableau ?
    tu as plusieurs select avec le même name ?

    si c'est le cas coté js tu les attendras avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frm.elements['maListe[]']
    mais du coup tu obtiens une collection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frm.elements['maListe[]'][0]
    etant le premier
    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 expérimenté
    Avatar de Trini
    Homme Profil pro
    Dresseur de puce
    Inscrit en
    Juillet 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dresseur de puce

    Informations forums :
    Inscription : Juillet 2005
    Messages : 189
    Par défaut
    A ta question
    pourquoi traiter le select comme un tableau ?
    Pour récupérer la liste des options sélectionnées en PHP, comme il est dit dans la FAQ, dans une boucle Foreach

    Et sinon merci pour ta réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    frm.elements['maListe[]'].options.length
    Complètement oublié elements[].....!! cela fonctionne !!

    Merci !

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

Discussions similaires

  1. [AJAX] Select multiple de ajax à php
    Par senacle dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/06/2018, 16h23
  2. Récupération d'un select Multiple avec PHP
    Par Loic Dupel dans le forum Langage
    Réponses: 8
    Dernier message: 13/09/2013, 10h21
  3. Select multiple
    Par lfournial dans le forum Struts 1
    Réponses: 20
    Dernier message: 24/02/2011, 12h14
  4. [PHP-JS] Récupérer texte d'un select multiple
    Par Katachana dans le forum Langage
    Réponses: 8
    Dernier message: 20/02/2008, 11h46
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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