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 :

Récupération de valeur d'1 liste déroulante avant un post


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Par défaut Récupération de valeur d'1 liste déroulante avant un post
    Bonjour,

    J'avais posté un messafge hier, et je l'avais résolu d'une certaine manière, mais je souhaiterai faire qqch de mieux (si c'est possible).
    J'ai longuement hésiter entre poster ce message ici ou dans le forum Javascript, so sorry si je me suis trompée

    Bref:
    dans ma page web, j'affiche un tableau. Dans une des case de ce tableau il y a une liste déroulante. Dans cette liste déroulante, je voudrai connaître la valeur sélectionnée par l'utilisateur et selon la valeur, je voudrai insérer ou non une ligne dans mon tableau, avec un champ texte à remplir par l'utilisateur. En réalité, il y a 3 valeurs pour lesquelles ce champs doit s'afficher.
    ça marche en mettant après le <SELECT un onchange='submit()', mais après avoir longuement réfléchi, je préfèrerais vraiment faire cet ajout ou non de ligne dynamiquement, d'autant plus que cet affichage doit s'effectuer uniquement pour 3 valeurs de la liste parmi un 50aine... du coup je trouve ça vraiment dommage de faire recharger la page.
    Si j'ai bien suivi, il faudrait créer une fonction Javascript, mais vraiment, après avoir fait beaucoup de recherches, je ne vois pas comment faire!

    Merci d'avance pour l'aide...

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Par défaut
    En gros ta fonction donnerai ca :

    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
    19
    20
    21
    22
    23
    24
    25
     
    function ajouteTR(){
      var TR = document.createElement("tr");
      var TD1 = document.createElement("td");
      var TD2 = document.createElement("td"); // tu crée autant de TD qu'il te faut    
     
      // Création de ton champ texte 
      var Input = document.createElement("input");
      nInput1.setAttribute('name',"name_input");
      nInput1.setAttribute('id',"id_input");
     
      // Ajout du input dans le TD correspondant
      TD1.appendChild(Input);
     
      //Ajout des td dans le tr
      TR.appendChild(TD1);
      TR.appendChild(TD2);	
     
      //Récupération de l'element dans lequel tu va ajouter ton tr c'est a dire le       table
      var table = document.getElementById("table");
      // Récupération du dernier tr du table : item() prend en paramètre l'indice du dernier TR donc a toi de sauver l'indice du dernier tr dans une variable JAvascript
      var dernier_TR = table .getElementsByTagName("tr").item(2);
      // Et enfin ajout du tr
      table .insertBefore(TR,dernier);
    }
    Voila en gros ce que ca donne tiens moi au courant

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Par défaut
    Salut

    Vraiment merci pour ton code.
    Je pense que la dernière ligne doit être comprise comme :

    table .insertBefore(TR,dernier_TR);

    au lieu de
    table .insertBefore(TR,dernier);

    Non?

    Je vais être honnête... je n'ai pas testé ta fonction, car au final, j'ai fait autre chose qui me convenait. Mais je garde ce code en tête, car je le comprends très bien (merci pour les commentaires! ) et j'en aurai peut être besoin par la suite...

    Merci encore!

  4. #4
    Membre Expert Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Par défaut
    J'ai déplacé ton post car il s'agit uniquement de javascript.
    Si tu as résolu ton problème, ca serait sympa de mettre ton morceau de code pour les autres et d'appuyer sur le bouton "résolu" en bas.

    Merci

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par amy0o0
    Je vais être honnête... je n'ai pas testé ta fonction, car au final, j'ai fait autre chose qui me convenait.
    Si c'est avec innerHTML, revient à la méthode de Sancho

    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Par défaut
    En fait, j'ai fait une fonction Javascript qui cache ou non la cellule que je souhaitais selon la valeur de la liste déroulante sélectionnée.

    Bref, ça donne un truc du genre:

    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
    19
    20
    21
     
    function recup(){
    var texte = document.getElementById("Id_liste_deroulante").value;  
        //Affiche / cache un element
        //alert(texte);// DEBUG
        var obj = document.getElementById("libelle_a_afficher_ou_non");
        if( texte == '1' || texte=='75' || texte=='73'){
            //alert("ici");// DEBUG
            obj.style.display =''; 
        }else{
            obj.style.display ='none';//masque
        }
     
        var obj2 = document.getElementById("champ_texte_a_afficher");
        if( texte == '1' || texte=='75' || texte=='73'){
            //alert("ici2");// DEBUG
            obj2.style.display =''; 
        }else{
            obj2.style.display ='none';
        }
    }
    sachant que j'ai rajouté 2 balises DIV côté HTML avec les id indiqué dans le code.

    J'espère que c'est assez clair... pour ceux qui serait suceptible de s'y intéresser...

    Encore merci...

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Juste un truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj2.style.display ='block';
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj2.style.display ='';

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Par défaut
    Pour ce qui est de la derniere ligne , oui c'est bien dernier_TR au lieu de dernier, c'était la fin donc je fatigué

    Sinon ta méthode pourquoi pas

    Allez a bientot et n''hésite si ta des soucis avec ce que je t'ai passé

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

Discussions similaires

  1. Récupération les valeurs d'une liste déroulante
    Par hous04 dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2010, 08h01
  2. Réponses: 2
    Dernier message: 23/10/2009, 10h16
  3. Récupération des valeurs d'une liste déroulante
    Par Donkybanane dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2009, 12h56
  4. récupération de valeur d'un liste déroulante et envoi avec GET
    Par Mat67 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/06/2007, 11h49
  5. [PHP-JS] Récupération valeur d'une liste déroulante
    Par vandeyy dans le forum Langage
    Réponses: 12
    Dernier message: 29/01/2007, 16h03

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