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 :

Identifier de façon unique des champs HTML contenus dans un un tableau HTML


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 254
    Points : 69
    Points
    69
    Par défaut Identifier de façon unique des champs HTML contenus dans un un tableau HTML
    Bonjour,

    J'ai un tableau HTML avec pour chaque ligne des colonnes contenant des champs input et une colonne contenant un bouton modifier.
    voici mon 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <html>
    <head>
     <meta charset="utf-8" />
    <link rel="stylesheet" href="maintenance_css.css" />
      <title>Maintenance CHNMFT</title>
      </head>
     <body>
    <table align="center" id="idtabaert">
    <caption>Les articles</caption>
    <?php
    include('functions.php');
     $bdd_MCHNMFT=connect();
    $reponse = $bdd_MCHNMFT->query('SELECT * FROM  services');
    while ($donnees = $reponse->fetch())
    {
            echo $libellepanne=$donnees['libelle_panne'] ;
            echo $serviceid=$donnees['service_id'] ;
     
    $reponse->closeCursor();
     
    ?>
     <tr>
    <td> <label for="libelle_panne">libelle panne :</label><input type="text" id="libelle_panne" value="<?php $libellepanne ?>" /></td>
    <td> <label for="service_id">Service demandeur :</label><input type="text" id="service_id" value="<?php $serviceid ?>"/></td>
    <td><input type="button" id="modif" value="modifier" /></td>
     </tr>
     <?php
    }
     ?>
    </table>
    </body>
    </html>
    Je voudrais en cliquant sur le bouton Modifier d'une ligne que je puisse avoir la valeur du champ input libelle_panne située sur la même ligne. Et pour cela ,il faut
    que je puisse identifier de façon unique la propriété id HTML de chaque champ dans une colonne de chaque ligne, ce que je n'arrive pas a faire.
    C'est a dire ici je veux envoyer la valeur du champ libelle_panne.
    Comment l'identifier de façon unique pour pouvoir envoyer seulement la valeur du champ libelle_panne située sur la même ligne que le bouton modifier clique par l'utilisateur ?

    Je voudrais solliciter votre intervention.

    Cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    un id doit être unique sur la page ...
    vu que tu construis le tableau en bouclant avec php ... incrémente tes id dans la boucle ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 254
    Points : 69
    Points
    69
    Par défaut
    Bonjour et merci pour la reactivite

    Ok et si je l’incrémente comment l'affecter aux propriétés id en html ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    colle leur tous la même classe ... et attaque les avec getElementsByClassName.

    Cela se fais très facilement avec Jquery et du coup même avec un selecteur sur les id (commence par ...)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 254
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Je comprends bien ce que vous voulez dire mais il doit exister un procédé par le quel on concaténé une chaîne string avec la variable de boucle pour l'affecter a l'id du champ

    et du coup tous les champs d'une même ligne auront une même variable de boucle concaténé une chaîne de caractère
    ?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut

    rien compris ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 986
    Points : 44 164
    Points
    44 164
    Par défaut
    Bonjour,
    dans une structure HTML du type
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <tr>
        <td><label for="libelle_panne">libelle panne :</label><input type="text" id="libelle_panne" value="<?php $libellepanne ?>" /></td>
        <td><label for="service_id">Service demandeur :</label><input type="text" id="service_id" value="<?php $serviceid ?>"/></td>
        <td><input type="button" id="modif" value="modifier" /></td>
     </tr>
    Tu n'as pas besoin d'ID, il te suffit à partir de l'<input type="button"> de récupérer le parent de son parent pour retrouver la <tr>.

    Ensuite il suffit de récupérer la 1st cellule pour récupérer le premier <input> et la 2nd pour le second <input>.

  8. #8
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 254
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    J'ai fais de sorte d'avoir des id avec une variable de boucle mais ca m'affiche rien dans les input et la fonction de javascript pour tester l'id de la ligne cliquée(en cliquant sur un bouton)
    m'affiche undefined

    voici mon 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
    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
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
    		<link rel="stylesheet" href="maintenance_css.css" />
            <title>Maintenance CHNMFT</title>
        </head>
        <body>
    	<table align="center" id="idtabaert">
    <caption>Les bons de travaux</caption>
     
    <?php
    include('functions.php');
         $bdd_MCHNMFT=connect();
                    $reponse = $bdd_MCHNMFT->query('SELECT * FROM  bon_travauxservices');
           $i=1; // variable de  boucle
                                                    while ($donnees = $reponse->fetch())
    {
         $libellepanne=$donnees['libelle_panne'] ;
             $datebon=$donnees['date_bontravaux'] ;
             $serviceid=$donnees['service_id'] ;
            $bontravaux_id=$donnees['bontravaux_id'] ;
     
     
    $reponse->closeCursor();
     
    ?>
     <tr>
     
    <td  style="display:NONE;" > <label for="bontravaux_id">libelle panne :</label><input type="text" id="<?php 'bontravaux_id'.$i ?>" value="<?php $bontravaux_id ?>" /></td>
    <td> <label for="libelle_panne">libelle panne :</label><input type="text" id="<?php 'libelle_panne'.$i ?>" value="<?php $libellepanne ?>" /></td>
    <td> <label for="date_bontravaux">Date bon :</label><input type="text" id="<?php'datebon'.$i ?>" value="<?php  $datebon ?>"/></td>
    <td> <label for="service_id">Service demandeur :</label><input type="text" id="<?php 'servicedem'.$i ?>" value="<?php $serviceid ?>"/></td>
    <td> <label for="etat_bon">Etat bon :</label><input type="text" id="<?php 'etatbon'.$i ?>" value="<?php $libellepanne ?>" /></td>
    <td><input type="button" id="modif" value="modifier" id="<?php 'bton_modifier'.$i ?>" onclick="affiche_formulaire_modifBon(<?php 'bontravaux_id'.$i ?>)"; /></td>
     </tr>
     <?php
     $i++;
    }
     ?>
    </table>
     
    <script>
    function affiche_formulaire_modifBon(a)
    {
    	alert(a);
    }
     
    </script>
    </body>
     
    </html>
    Voyez-vous ce qui marche pas dans ce code ?

  9. #9
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 986
    Points : 44 164
    Points
    44 164
    Par défaut
    Il faut travailler sur le code HTML généré et non sur le code serveur.

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id="<?php 'libelle_panne'.$i ?>"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id="libelle_panne<?php echo $i ?>"
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/07/2007, 08h56
  2. Créer des champs en automatique dans formulaire
    Par Daniel MOREAU dans le forum VBA Access
    Réponses: 5
    Dernier message: 28/06/2007, 18h14
  3. affichage des champs selon critère dans un formulaire
    Par emmablue dans le forum Access
    Réponses: 5
    Dernier message: 31/07/2006, 09h39
  4. Moyenne des champs non vide dans un état
    Par loutsky dans le forum Access
    Réponses: 4
    Dernier message: 05/04/2006, 17h26
  5. Réponses: 7
    Dernier message: 09/02/2006, 16h51

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