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

Langage PHP Discussion :

SELECT créés dynamiquement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut SELECT créés dynamiquement
    Bonjour,
    Je suis nouveau ici ainsi qu'en dev.
    Voilà je me permets de poser un question car j'ai un petit soucis avec un la balise <select>.

    Chaque ligne de la liste de mes utilisateurs enregistrés se termine par une liste déroulante où je liste les différents groupe à affecter aux utilisateurs (Administrateur, Utilisateur, Invité etc...) et un bouton permettant d'affecter l'utilisateur au groupe.
    La liste déroulante est un script php qui me permet d'afficher les occurences de ma table Groupe.
    Pour que chaque ligne se termine par cette liste, j'ai placé le script dans une boucle while.
    Voilà mon <select> :
    echo "<td><SELECT name = 'cboDemande' id='cboDemande' onchange='DemandeComboChanged()'>

    et ma fonction javascript DemandeComboChanged()
    function DemandeComboChanged()
    {
    var currentDocument = document.all;
    currentDocument.strUserId.value = currentDocument.cboDemande.options[document.all.cboDemande.selectedIndex].id;
    }

    Tant que j'utilise cela pour l'affichage d'un seul <select>, tout se passe parfaitement bien, je récupère bien la valeur attendue dans mon POST.

    Mais lorsque je place le <select> dans une boucle, je n'ai plus rien dans mon POST.

    J'imagine que le problème est lié à l'attribut name ou id de mon <select>.

    Je ne vois pas comment changer dynamiquement le name ou l'id de cboDemande en cboDemande#
    Et je ne vois pas comment récupérer cette info dans ma fonction javascript puisque l'attribut y figure currentDocument.strUserId.value = currentDocument.cboDemande.options[document.all.cboDemande.selectedIndex].id;

    StrUserId est utilisée pour le POST

    echo '<input type="hidden" name="strUserId" id="strUserId"/>';

    IE7 retourne l'erreur : 'cboDemande.options' is null or not an object

    Merci pour toute participation

  2. #2
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    Hello,

    Normal que cela ne marche pas car le name est le même pour tous.

    Donc tu peux faire quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<td><SELECT name = 'cboDemande_".$i++."' id='cboDemande_".$i++."' onchange='DemandeComboChanged(this)'>

    Et dans le javascript tu travaille avec l'objet this.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut Merci
    Bonjour et merci, désolé de ne pas avoir répondu plus tôt, le système ne me le permettais pas et je viens de recevoir seulement maintenant l'activation de mon compte.
    Donc c'est bien ce que je pensais, un problème d'identification vu que tous portait le même nom et le même id.
    J'ai commencé par utiliser le This mais un gentil developpeur m'a aidé et a mis le bazard donc mon code, bref j'ai utilisé une autre methode.
    En tout cas merci, tu m'as bien dépanné, je pensais à This.

    Juste une petite remarque, tu mets nom="cboDemande_'.$i++ et id="cboDemande'.$i++ ce qui pose un probleme puisque cette ligne créé un décalage dans les noms des objets.
    J'ai donc écrit plutot nom="cboDemande_'.$i et nom="cboDemande_'.$i puis j'ai incrémenté $i ailleurs dans le code.

Discussions similaires

  1. [VCL 3] TJVLookOut : Pb ordre boutons créés dynamiquement
    Par Eric_dudu dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/12/2005, 16h17
  2. Réponses: 9
    Dernier message: 28/10/2005, 13h48
  3. problème d'accès a des éléments créés dynamiquement
    Par Pymm dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/07/2005, 17h13
  4. Gestion séparée de composants créés dynamiquement
    Par anarpunk dans le forum Composants VCL
    Réponses: 8
    Dernier message: 15/06/2005, 10h57
  5. Erreur EACCESSVIOLATION avec des compsts créés dynamiquement
    Par tsikpemoise dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/02/2004, 19h05

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