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 :

retrouver un element html.


Sujet :

JavaScript

  1. #1
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 802
    Points
    1 802
    Par défaut retrouver un element html.
    bonjour et desole pour le titre je savais pas trop quoi mettre.
    voici ma question:
    j'ai un input ou je veux changer la valeur de "value" je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <tr>
       <td>
          <inpute type="button" value="+" onclick="func(this,autre_param);">
    la partie javascipt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      function func(opt,autre_param)
     {
         ....
         if(opt.value=="+")
               opt.value="-";
         else
               opt.value="+"; 
         ....
     }
    maintenant je veux que quand on click sur la ligne jai le meme resutat le probleme c'est que je sait pas comment retrouver le input depuis un <tr>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr onclick="func(this.quelquechose.autrechose,  autre_param)">
    pouvez vous s'il vous plait m'indiquer ce que je dois metre apres this. pour atteindre le <input>?

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    <inpute type="button" value="+" onclick="func(this,autre_param);">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="+" onclick="func(this,autre_param);">
    En principe, un input doit avoir un nom ou un id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="+" onclick="func('monInput',autre_param);" id="monInput">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr onclick="func('monInput',  autre_param)">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function func(opt,autre_param)
     {
         ....
         if(document.getElementById(opt).value=="+")
               document.getElementById(opt).value="-";
         else
               document.getElementById(opt).value="+"; 
         ....
     }

  3. #3
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 802
    Points
    1 802
    Par défaut
    merci mais l'absence de id est volontaire car c'est un fichier php qui cree les tr. j'ai essaye au hasard ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr onclick="func(this.cells[0].firstChild, autre_param)">
    et j'ai bien eu le resultat souhaite. maintenant comme je l'ai dit j'ai fait ca par hasard et j'aimerai savoir si il y avait plusieurs input dans <td> comment trouver le n ieme element dans le td pour generaliser?

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr onclick="func(this.getElementsByTagName('input')[0], autre_param)">

  5. #5
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 802
    Points
    1 802
    Par défaut
    Oui ca marche mais avec une grosse contrainte : il m'interdit les <td></td> vide. il me faut ecrire quelquechose entre les balises td sinon ca marche mais mal, c'est a dire qu'il n'y a pas de saut de ligne.

    j'ao extrait le php pour avoir un example purement html pour simplifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <table>
          <tr onclick="displaysub(this.getElementsByTagName('input')[0], 'sub0');" >
                <td> <input type="button" value="+"  style="border:0px;"/> </td>
                <td> blablabla </td>
          </tr>
          <tr id="sub01" style="display:none;">
                <td>tr 1 </td> <td></td>  <td>td3</td> <td>td4</td>
          </tr>
          <tr id="sub02" style="display:none;">
                <td>tr 2</td>
          </tr>
        </table>
    donc a cause du <td></td> vide j'ai ceci a l'ecran:
    au lieux d'avoir le tr 2 a la ligne suivante. petite precision le probleme n'est qu'avec firefox. et une fois sur deux.

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Essaie de placer un &nbsp; dans tes td vides

  7. #7
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 802
    Points
    1 802
    Par défaut
    bien entendu ca marche.
    juste une question avant de mettre resolue:
    de facon generale si je veux attendre un element depuis une position donnee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getElementsByTagName(TAG)[i]
    me permet -il de retrouver le tag a partir de la position actuel ex <table> et seulement entre les balises du this oubien
    a partir de la position actuelle jusqu'a la fin du fichier?

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    this.getElementsByTagName se réfère a ses nœud fils. Si tu le mets dans tr il se réfère aux éléments de la ligne, si tu le mets dans table, il se réfère aux éléments de la table.

  9. #9
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 802
    Points
    1 802
    Par défaut
    c'est claire. bon maintenant admettons que j'ai un <table> et que j'ai besoins d'agir sur tout les tables suivants comment dois-je faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.next.......getElementByTagName()
    existe t-il une methode ou dois-je imperativement passer par des ID.
    car mon fichier php justement utilise des id qu'il incremente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $html .= "<tr id='sub ".$i." '>"
    . si je connaissait un moyen d'acceder au autre <tr> je me serai passe du code php et dans ma fonction javascripte j'aurait just fait agit sur tout les tr suivants le <tr> qui a le 'this'.

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

Discussions similaires

  1. Obtenir la liste des evenements associé à un element html
    Par s1pike dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/10/2006, 23h48
  2. evenement onmouseover sur element HTML disabled
    Par danyboy85 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/04/2006, 12h04
  3. Lister des element HTML à partir d'une autre frame
    Par psychomatt dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/03/2006, 18h03
  4. [vb.net][String] retrouver des elements d'une chaine
    Par arnolem dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/01/2006, 11h31
  5. Réponses: 4
    Dernier message: 05/11/2004, 14h58

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