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

NodeJS Discussion :

Liste déroulante bloquée


Sujet :

NodeJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur alternant
    Inscrit en
    Mars 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur alternant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 25
    Par défaut Liste déroulante bloquée
    Bonjour,

    Depuis une mise à jours de Node (de la 4.1 à la 4.4) avec un update de tous les modules, mes listes déroulantes (du moins certaines) sont dissidentes, elles ne sont plus déroulantes, et j'ai beau chercher je ne vois pas de solutions sachant que dans un des cas où ça bloque, j'ai deux listes déroulantes dans un form (mois et années). Si je les mets chacune dans un form, elles repassent déroulantes, mais impossible de transmettre les données, et dans les autres cas ce sont les paginations de tableau dynamique généré avec react qui bloquent.

    En ce qui concerne les technos, il y a un mélange de Html, de Node.Js, d'handlebars (basé sur mustache), et dans le cas des tableaux dynamiques de React.

    Cas des listes déroulantes simples :
    Nom : Capturexcvcxv.PNG
Affichages : 689
Taille : 1,4 Ko

    Code lié :
    Code html : 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
     
    <form method="post" action="/equipes/dates" name="dateChoix" >
        <select name="annee" size="1" style="width: 10%">
          // parcours d'un objet contenant des années
          {{#each anneeList}}
            <option>{{this}}
          {{/each}}
        </select>
        <select name="mois" style="width: 10%">
        // parcours d'un objet contenant des mois
          {{#each moisList.mois}}
           //si l'objet contient l'attribut select on l'ajoute comme selected
            {{#if select}}
              <option  selected value={{id}}>{{libelle}}
            {{else}}
                <option value={{id}}>{{libelle}}
            {{/if}}
          {{/each}}
        </select>
      <button class="btn blue" type="submit" name="btn_date">Choisir date</button>
    </form>

    Cas des tableaux dynamiques généré avec react :
    Nom : Capturbnhhe.PNG
Affichages : 756
Taille : 41,8 Ko

    Code lié à la génération du tableau dynamique :

    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
    26
    27
    28
    29
    30
    31
     
    // On récupere les données dans un tableau que l'on parse en json
    var tab =document.getElementById("main")
    var value =tab.getAttribute('value');
    var listes= JSON.parse(value)
     
    // Pour chaques congé on ajoute des checkboxs et boutons d'actions (valider/refuser)
    for(var conge in listes)
    {
        var idConge=listes[conge]["_id"];
        listes[conge]["selectionner"] =   <input type="checkBox"  className="checkBox"  value={idConge} name="checkBox" />;
        listes[conge]["actions"] =
        <div>
          <form method="post" action="/demandes/validerConges" name="validerConge" id="validerConge">
              <button className="btn-xs" type="submit" value={idConge} name="idConge">
              <i className="fa fa-check-circle"></i>
              </button>
          </form>
          <form method="post" action="/demandes/refuserConge" name="refuserConge" id="refuserConge">
            <button className="btn-xs" type="submit" value={idConge} name="idConge">
            <i className="fa fa-times-circle"></i>
            </button>
          </form>
        </div>
    }
     
    // Géneration du tableau via l'outil griddle for react
    React.render(
    <Griddle results={listes} tableClassName="table"  showFilter={true}
       showSettings={false} resultsPerPage={9} columns={[ "selectionner","collaborateur","dateDebut", "dateFin", "actions"]}/>,document.getElementById('main')
    );

    Si je fais inspecter sur la liste déroulante :
    Nom : ghfhftitre.png
Affichages : 845
Taille : 44,2 Ko

    Comme on peu l'observer, il fait une fixette sur le form, ce qui n'est pas le cas pour les autres éléments de la page.


    Malgré mes recherches, je n'ai trouvé aucune réponse pouvant m'indiquer une piste, mais je dois avouer ne pas avoir vraiment réussi à définir une bonne recherche pour ce problème.

    Toute piste sera la bienvenue. ^^

  2. #2
    Membre averti
    Homme Profil pro
    Développeur alternant
    Inscrit en
    Mars 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur alternant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 25
    Par défaut
    Début de solution trouvé concernant la premiere partie:

    Il semblerais que la mise à jours d'une des technos ai créer un bug avec la balise button, j'ai donc résolus ce problème en mettant un input type button:

    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
    <form method="post" action="/equipes/dates" name="dateChoix" >
        <select name="annee" size="1" style="width: 10%">
          // parcours d'un objet contenant des années
          {{#each anneeList}}
            <option value="{{this}}">{{this}}</option>
          {{/each}}
        </select>
        <select name="mois" style="width: 10%">
        // parcours d'un objet contenant des mois
          {{#each moisList.mois}}
           //si l'objet contient l'attribut select on l'ajoute comme selected
            {{#if select}}
              <option  selected value="{{id}}">{{libelle}}</option>
            {{else}}
                <option value="{{id}}">{{libelle}}</option>
            {{/if}}
          {{/each}}
        </select>
        <input type="submit" class="btn blue" name="test" value="Choisir date" style="width: 10%">
    </form>

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/07/2016, 04h34
  2. Zone de liste déroulante bloquée dans formulaire
    Par CouicCouic dans le forum IHM
    Réponses: 0
    Dernier message: 30/08/2012, 11h19
  3. IE 8 : Listes déroulantes liées bloquées par anti pop-up
    Par Plastifieurs dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 27/07/2010, 11h07
  4. liste déroulante en ASP vbscript
    Par leeloo076 dans le forum ASP
    Réponses: 9
    Dernier message: 17/03/2004, 16h42
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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