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érer et exploiter une valeur d'input


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut Récupérer et exploiter une valeur d'input
    Bonjour,
    je butes sur un problème probablement simple ;
    dans une page HTML5 Ajax, j'ai un tableau de 50 lignes dans une table pour certaines cellules, j'ai besoins de pouvoir saisir et valider une valeur numérique
    il y a un bouton avec un "onclic" ...et un "input" qui n'est donc pas dans un "FORM".... le fonction appelée reçoit donc un code et il me faut récupérer la valeur saisie..

    mon code est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function pochette(xx){  
     
    /*  xx est $DvdIndex qui m'a servie à nommer l'idé de chaque input */
    var Leinput="X"+xx+"";
    var wx=document.getElementById.value('".Leinput."');
    maFonctionAjax("","","lapochette","","",xx,wx,"","","","","","","");
    }
    il me crée un erreur mal définie, comment auriez vous récupéré le contenu de l"input ? merci d'avance.

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    pour mieux répondre faudrait d'abord savoir comment se présente ton input dans le body de ton html..

  3. #3
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    Oui toutes les lignes sont identiques

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table border="1px"><tbody><tr><td width="80px"> Index </td><td width="150px"><input type="button" value=" Date claire " onclick="LeTri('DvdDateClaire');return false;"><br><img src="logossmala/s_non.gif" alt=""></td><td width="600px"><input type="button" value=" Titre " onclick="LeTri('DvdTitre');return false;"><br><img src="logossmala/s_non.gif" alt=""></td><td width="150px"><input type="button" value=" Pochette " onclick="LeTri('Pochette');return false;"><br><img src="logossmala/s_non.gif" alt=""></td><td width="200px"><input type="button" value=" USB_Rep " onclick="LeTri('USB0');return false;"><br><img src="logossmala/s_non.gif" alt=""></td><td width="150px"><input type="button" value=" USB1 " onclick="LeTri('USB1');return false;"><br><img src="logossmala/s_non.gif" alt=""></td><td width="150px"><input type="button" value=" Taille " onclick="LeTri('DvdTaille');return false;"><br><img src="logossmala/s_non.gif" alt=""></td><td width="150px"><input type="button" value=" DvdIndex " onclick="LeTri('DvdIndex');return false;"><br><img src="logossmala/s_non.gif" alt=""></td></tr><tr>
         <td> 3394 Genere </td>
         <td>2020-03-11</td>
         <td align="left">demain-le-film.mp4</td>
         <td><img src="zzz/bout1.jpg" onclick="javascript:pochette('3394');'="" alt="3394" style="cursor:pointer;">
         <input class="le413" maxlength="10" name="X3394" id="X3394" type="text" value="11"></td>
         <td>3031 DVDd</td>
         <td>00x</td>
         <td>1.079.879.585</td>
         <td>3394</td></tr><tr>
    Merci à toi

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut
    N'y a-t-il pas un problème de "
    Ton code ligne 5
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
         <td><img src="zzz/bout1.jpg" onclick="javascript:pochette('3394');'="" alt="3394" style="cursor:pointer;">
    devrait être (me semble t-il)
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
         <td><img src="zzz/bout1.jpg" onclick="javascript:pochette('3394');'='" alt="3394" style="cursor:pointer;">
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 229
    Par défaut
    Ah oui j'ai avancé d'un pas mille mercis
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <td><img src="zzz/bout1.jpg" onclick="javascript:pochette('3394');'='" alt="3394" style="cursor:pointer;">
    De ce fait j'ai corrigé également le code coté HTML de l'Ajax (la fonction javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function pochette(xx){  
     
    /*  xx est $DvdIndex  */
    var Leinput="X"+xx+"";
    var wx=document.getElementById('+xx+').value('"+Leinput+"');
    maFonctionAjax("",xx,"lapochette","","","","wx","","","","","","","");
    }
    mais il réponds qu'il trouve une valeur nulle ... j'avais tapé 150 à la place de cette ligne ...
    Finalement, j'ais mis un mini form a chaque ligne et ça marche !! (à l'ancienne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      onsubmit='pochette(this.X".$DvdIndex.".value,  ETC. a lancienne
    Merci à vous deux ...

  6. #6
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    quelques conseils
    1-> ne pas mélanger le CSS , le HTML et javascript doivent être séparés.

    par exemple pour le css
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          <tr>
            <td width="80px"> Index </td>
    devient
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          <tr>
            <td> Index </td>
    avec en css
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    td:nth-of-type(1) {  width:80px }

    par exemple avec pour le javascript
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <td> <img src="zzz/bout1.jpg" onclick="javascript:pochette('3394');'="" alt=" 3394" style="cursor:pointer;">
    devient
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <td> <img src="zzz/bout1.jpg"  alt=" 3394" id=imgXX>
    +css
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    td img  { cursor:pointer; }

    +JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('imgXX').onclick = function (....
    dans le cas d'un tableau, comme les lignes se répettent il est utile d'utiliser la délégation d'évènements. un exemple ici => https://www.developpez.net/forums/d2.../#post11457648

    et tant qu'a utiliser un tableau ne pas hésiter à utiliser le <thead>ce qui dans ton histoire se résume ainsi:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <table id="ma-table">
      <thead>
        <tr>
          <td>Index </td>
          <td>
            <button value="DvdDateClaire"> Date claire </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
          <td>
            <button value="DvdTitre"> Titre </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
          <td>
            <button value="Pochette"> Pochette </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
          <td>
            <button value="USB0"> USB_Rep </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
          <td>
            <button value="USB1"> USB1 </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
          <td>
            <button value="DvdTaille"> Taille </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
          <td>
            <button value="DvdIndex"> DvdIndex </button> <br> <img src="logossmala/s_non.gif" alt="">
          </td>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td> 3394 Genere </td>
          <td>2020-03-11</td>
          <td>demain-le-film.mp4</td>
          <td>
            <img src="zzz/bout1.jpg" alt=" 3394" data-pochette="3394">
            <input type="text" name="X3394" class="le413" maxlength="10"  value="11">
          </td>
          <td>3031 DVDd</td>
          <td>00x</td>
          <td>1.079.879.585</td>
          <td>3394</td>
        </tr>
        <tr>
          <td> 2222 Genere </td>
          <td> 2001-03-11</td>
          <td> odyssee-de_l-espace.mp4</td>
          <td>
            <img src="zzz/bout1.jpg" alt=" 2222" data-pochette="2222">
            <input type="text" name="X2222" class="le413" maxlength="10"  value="222">
          </td>
          <td>2222 DVDd</td>
          <td>00x</td>
          <td>2.222.022</td>
          <td>2222</td>
        </tr>
        <tr>
      </tbody>
    </table>

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #ma-table thead td  {  width:150px; }
    #ma-table thead td:nth-of-type(1) {  width:80px }
    #ma-table thead td:nth-of-type(3) {  width:600px }
    #ma-table thead td:nth-of-type(5) {  width:200px }
     
    #ma-table tbody td:nth-of-type(3) { text-align: left; }
    #ma-table tbody img { cursor:pointer; }

    Code JAVASCRIPT : 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
    const maTable = document.getElementById('ma-table');
     
    maTable.querySelector('thead').onclick=e=>
      {
      if (!e.target.matches('button')) return
      // console.log( e.target.value )
      LeTri(e.target.value)
      }
    maTable.querySelector('tbody').onclick=e=>
      {
      if (!e.target.matches('img[data-pochette]')) return
     
      let valInput = e.target.parentNode.querySelector('input').value;
     
      // console.log(e.target.dataset.pochette, valInput)
      maFonctionAjax("",e.target.dataset.pochette,"lapochette","","","",valInput,"","","","","","","");
      }

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 03/05/2006, 15h31
  2. [PHP-JS] Affecter une valeur à un input text
    Par hunter001 dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2006, 10h18
  3. [TABLE]Récupérer et stocker une valeur
    Par stéphane_ais2 dans le forum Access
    Réponses: 11
    Dernier message: 10/03/2006, 14h52
  4. Affecter une valeur à un input type="file" ?
    Par rocs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/08/2005, 11h10
  5. Affecter une valeur à un input type text
    Par mr.t dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/06/2005, 15h18

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