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 :

Champs de formulaire liés


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 4
    Par défaut Champs de formulaire liés
    Bonjour, voici mon objectif:
    -------------------------
    | Menu déroulant |A
    | Champ (entier) |B
    -------------------------
    Mon menu déroulant contient des éléments d'une base de données, le nom est affiché mais je stocke aussi le maximum que peut prendre une valeur.
    Dessous, la valeur en question.

    J'aimerais selon la valeur de A, modifier le maximum que peut prendre le champ B.

    Pour le stockage, A puise dans une table T_Convention, elle possède les champs
    * id_Convention (identifiant numérique)
    * Con_Name (nom affiché dans le menu déroulant)
    * Con_TableQuantity (valeur que peut prendre au max le champ B).

    J'utilise expressjs et comme moteur de template ejs.

    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
    32
    33
    34
    35
    36
     <form class="ui form" method="post" action="/Disponibilite">
       <input type="hidden" name="tableName" value="T_Disponibilite">
        <h4 class="ui dividing header">Ajout d une disponibilité: </h4>
        <div class="required field">
          <label for="convention">Convention</label>
          <select   class="ui fluid dropdown"
                    id="convention"
                    name="convention"
                    onchange="myFunction()"
                    required>
            <option value="" selected disabled>Nom de la convention</option>
            <% for(var i=0; i<T_Convention.length; i++) {%>
              <option value=<%= T_Convention[i].id_Convention %>>
                  <%= T_Convention[i].Con_Name %>
              </option>
            <% } %>
          </select>
        </div>
        <div class="field" id="tablenumberfield">
          <label for="name">Numéro de la table</label>
          <input id="tablenumber" name="tablenumber" type="number" min="0" max="1" step="1"/>
        </div>
     
        <script>
        function myFunction() {
          var x = document.getElementById("convention").value
          //=======================================================================
          // Ligne importante
          //=======================================================================
          document.getElementById("tablenumber").max = <%= T_Convention[x] %>
        }
        </script>
          <button type="submit" class="ui blue labeled submit icon button">
          <i class="icon edit"></i> Envoyer
        </button>
    </form>
    Pourriez vous m'aiguiller soit vers les bons mots clés à rechercher sur google, soit vers une piste de solution, soit si le moteur l'en empêche vers un moteur plus adapté.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    il s'agit d'un évènement côté client donc la question concerne JavaScript côté client.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    tu n'en es pas loin mais il te faut attribuer la valeur récupérée et non la fixer en dur comme tu le fais ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("tablenumber").max = <%= T_Convention[x] %>
    cela serait plus du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function myFunction() {
      var valeur = document.getElementById('convention').value; // récup. de la valeur
      document.getElementById('tablenumber').max = valeur;      // affectation de la valeur
    }

Discussions similaires

  1. Tester si un champ de formulaire est vide
    Par pekka77 dans le forum ASP
    Réponses: 3
    Dernier message: 28/06/2005, 16h18
  2. Champ de formulaire "file"
    Par tom06440 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/05/2005, 13h56
  3. [Word] Création d'un champs de formulaire
    Par Oberown dans le forum Word
    Réponses: 2
    Dernier message: 18/04/2005, 11h10
  4. Réponses: 2
    Dernier message: 28/10/2004, 16h54
  5. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06

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