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

HTML Discussion :

Html + Concat + Select - Possible ?


Sujet :

HTML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut Html + Concat + Select - Possible ?
    Bonjour!
    Je me demande si il est possible de faire du concat avec html.
    Je vais prendre 2 exemples dans mon code.
    Dans le code suivant :
    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
    <label for="nave">Nave</label>
    <select name="nave">
    <?php //Detection IP sinon Liste DataBase
      if ($_SERVER['REMOTE_ADDR'] == '1.1.1.1') {
    ?>
      <option value="Garage" selected="selected">Garage</option>
    <?php 
      } elseif ($_SERVER['REMOTE_ADDR'] == '2.2.2.2') {
    ?>
      <option value="Bureau" selected="selected">Bureau</option>
    <?php 
      } else {
    ?>
    <?php 
        while($datos = mysqli_fetch_array($query))
        {
    ?>
    <option value="<?= $datos['nave']?>"><?= $datos['nave']?></option>
    <?php 
        }
      }//Detection IP sinon Liste DataBase
    ?>
    </select><br>
    Selon la valeur il m´affiche Garage car j´ai l´ip du Garage

    Ensuite j´ai ce select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <label for="veh">Veh</label>
    <select name="veh" id="veh">
      <option value="voiture">Voiture</option>
      <option value="moto">Moto</option>
    </select><br>
    Par default le premier qui apparait est Voiture

    Viens ensuite pour l´exemple que je voulais cancatener les 2.
    J´ai trouver cet exemple, mais je sais pas comment concatener Garage + Voiture dans le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <label for="test">test concat</label>
    <p id="test"></p>
    <script>
    let text1 = "sea";
    let text2 = "food";
    let result = text1.concat(text2);
     
    document.getElementById("test").innerHTML = result;
    </script>

  2. #2
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,

    1- montre ce que donne :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php var_dump( $datos ); ?>

    2- où veux-tu écrire "Garage + Voiture" ?
    et à quel moment ? (après sélection dans les 2 <select> ?)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    SAlut et merci pour l'aide.
    1 - cela donne NULL
    2 - ALors là c'est plus compliqué
    le premier code
    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
    <label for="nave">Nave</label>
    <select name="nave">
    <?php //Detection IP sinon Liste DataBase
      if ($_SERVER['REMOTE_ADDR'] == '1.1.1.1') {
    ?>
      <option value="Garage" selected="selected">Garage</option>
    <?php 
      } elseif ($_SERVER['REMOTE_ADDR'] == '2.2.2.2') {
    ?>
      <option value="Bureau" selected="selected">Bureau</option>
    <?php 
      } else {
    ?>
    <?php 
        while($datos = mysqli_fetch_array($query))
        {
    ?>
    <option value="<?= $datos['nave']?>"><?= $datos['nave']?></option>
    <?php 
        }
      }//Detection IP sinon Liste DataBase
    ?>
    </select><br>
    Je voudrais bien qu'il m'affiche à la fin du chargement de la page et sur le select si condition else. CE que j'arrive pas même en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="nave"> id="nave" onchange="getSelectValue();">
    Car il prend la bonne ip.

    Ensuite oui, l'idée est de faire "Garage-Voiture". Car pour l'exemple plus tard je dois faire plusieur concat et avec des onchange....

    EDIT:
    Je continue mes test avec d'autres objets.
    J'ai ceci dans l'exemple :
    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
    <label for="producto">Producto</label>
    <select name="producto" id="producto" onchange="getSelectValue(producto);">
      <option value="pizarra">Pizarra</option>
      <option value="piedra">Piedra</option>
    </select><br>
     
    <label for="producto_tipo">Producto Tipo</label>
    <select name="producto_tipo" id="producto_tipo" onchange="getSelectValue1(producto_tipo);">
      <option value="H">Hebra</option>
      <option value="S">Seca</option>
      <option value="R">Retela</option>
    </select><br>
     
    <script>
        function getSelectValue(producto)
        {
            var selectedValue = document.getElementById("producto").value;
            console.log(selectedValue)
        }
        function getSelectValue1(producto_tipo)
        {
            var selectedValue1 = document.getElementById("producto_tipo").value;
            console.log(selectedValue1)
        }
    </script>
    Cela marche pour le changement. Il me reste plus que savoir comment integrer la concat aussi bien à la fin du chargement de la page que au changement.

  4. #4
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    cela donne NULL
    1- Forcément...
    Je n'ai pas dit le mettre...
    Peu importe.

    2-
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <label for="nave">Nave</label>
    <select name="nave" id="nave">
     
    ... (ton code)
     
    </select>
    <br>
    <label for="veh">Veh</label>
    <select name="veh" id="veh">
      <option value="voiture">Voiture</option>
      <option value="moto">Moto</option>
    </select>
    Code js : 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
    window.addEventListener("DOMContentLoaded", (event) => {
      "use strict";
      const nave = document.querySelector('#nave');
      const veh = document.querySelector('#veh');
      nave.addEventListener('change', e => {
        getSelectValue();
      });
      veh.addEventListener('change', e => {
        getSelectValue();
      });
    });
    function getSelectValue()
    {
      let sel_nave = nave.value;
      let sel_veh = veh.value;
      let json_datas = { 'nave':sel_nave, 'veh':sel_veh };
      console.log( json_datas );
    // ici... tu en fais ce que tu veux...
    };

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    Alors tu parles a un noob, mais pour js dans visual code tout est blanc. Il faut ajouter quelque chose ?

    Edit :
    a mettre entre balise script

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    Bon alors en console je vois bien les valeurs, concrètement je vois {nave: 'Test1', veh: 'Voiture'}
    Alors que je voudrais essayer de voir seulement Test1-Voiture
    Comment afficher le resultat dans html au lieu de faire un console ?
    Autre truc a noter c'est que le resultat en ouput ne charge pas une fois la page chargé. Seulement au changement.

  7. #7
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,

    voir :




    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <p>Tu seleccion: <b><span id="seleccionado"></span></b></p>

    Code js : 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
    function getSelectValue()
    {
      let sel_nave = document.querySelector('#nave').value;
      let sel_veh = document.querySelector('#veh').value;
      // ... (on peut en ajouter d'autres)
      // ---------
      // affichage
      let texto = sel_nave + ' - ' + sel_veh;
      document.querySelector('#seleccionado').textContent = texto;
      // ---------
    /*  
      let json_datas = { 'nave':sel_nave, 'veh':sel_veh };
      console.log( json_datas );
    // ici... tu en fais ce que tu veux... -> envoi avec Ajax,...
    */
      // ---------
    };

    Ensuite, SOIT tu utilises le script JS :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    window.addEventListener("DOMContentLoaded", (event) => {
      "use strict";
      document.querySelector('#nave').addEventListener('change', e => {
        getSelectValue();
      });
      document.querySelector('#veh').addEventListener('change', e => {
        getSelectValue();
      });
      // ---------
      // au chargement
      getSelectValue();
    });
    SOIT tu ajoutes dans le HTML, sur chaque champ "utile" :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select ...... onchange="getSelectValue();">
    MAIS PAS LES DEUX !

Discussions similaires

  1. [html:optionsCollection] selection mutiple
    Par abdoulzak dans le forum Struts 1
    Réponses: 1
    Dernier message: 30/10/2006, 11h39
  2. html:radio - sélection par défaut
    Par zizou771 dans le forum Struts 1
    Réponses: 3
    Dernier message: 05/07/2006, 12h26
  3. Réponses: 5
    Dernier message: 14/03/2006, 16h12
  4. Limiter la largeur d'un select possible?
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 28/10/2005, 23h38
  5. html:optionsCollection selected
    Par babylone7 dans le forum Struts 1
    Réponses: 8
    Dernier message: 02/08/2004, 14h34

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