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 :

id colonne d'un tableau


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut id colonne d'un tableau
    Bonjour,

    Je suis à la recherche d'une info!
    Comment peut-on nommer une colonne?
    On peut donner une id à un tableau mais pour une colonne??
    Si quelqu'un a la solution je suis preneur.
    Merci.

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    on ne peut pas donner d'id à une colonne mais uniquement à une case donc
    <td id="id"></td>

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ce que je veux c'est que le résultat de la somme des champs "A" apparaisse dans le floatlayer.Tout en sachant que j'ai pas loin d'une centaine de champ "A" et donner une id à chaque case me parait impensable!!Il doit bien y' avoir plus simple.Je me suis dit que donner une id à la colonne comportant les champs ferais bien l'affaire mais si vous me dites que c'est pas possible....

    Voici un exemple simplifié de mon code!

    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
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    <script type="text/javascript">
    	<!--
    	function calculTotal(resultat)
    	{
    document.getElementById('A'+resultat).value=Math.round(parseFloat((document.getElementById('B'+resultat).value * document.getElementById('C'+resultat).value) * 10)/10);
    }
    	</script>
    <script type="text/javascript">
     window.onerror = null;
    var topMargin = 100;
    var slideTime = 1200;
    var ns6 = (!document.all && document.getElementById);
    var ie4 = (document.all);
    var ns4 = (document.layers);
    function layerObject(id,left) {
    if (ns6) {
    this.obj = document.getElementById(id).style;
    this.obj.left = left;
    return this.obj;
    }
    else if(ie4) {
    this.obj = document.all[id].style;
    this.obj.left = left;
    return this.obj;
    }
    else if(ns4) {
    this.obj = document.layers[id];
    this.obj.left = left;
    return this.obj;
       }
    }
    function layerSetup() {
    floatLyr = new layerObject('floatLayer', pageWidth * .5);
    window.setInterval("main()", 10)
    }
    function floatObject() {
    if (ns4 || ns6) {
    findHt = window.innerHeight;
    } else if(ie4) {
    findHt = document.body.clientHeight;
       }
    } 
    function main() {
    if (ns4) {
    this.currentY = document.layers["floatLayer"].top;
    this.scrollTop = window.pageYOffset;
    mainTrigger();
    }
    else if(ns6) {
    this.currentY = parseInt(document.getElementById('floatLayer').style.top);
    this.scrollTop = scrollY;
    mainTrigger();
    } else if(ie4) {
    this.currentY = floatLayer.style.pixelTop;
    this.scrollTop = document.body.scrollTop;
    mainTrigger();
       }
    }
    function mainTrigger() {
    var newTargetY = this.scrollTop + this.topMargin;
    if ( this.currentY != newTargetY ) {
    if ( newTargetY != this.targetY ) {
    this.targetY = newTargetY;
    floatStart();
    }
    animator();
       }
    }
    function floatStart() {
    var now = new Date();
    this.A = this.targetY - this.currentY;
    this.B = Math.PI / ( 2 * this.slideTime );
    this.C = now.getTime();
    if (Math.abs(this.A) > this.findHt) {
    this.D = this.A > 0 ? this.targetY - this.findHt : this.targetY + this.findHt;
    this.A = this.A > 0 ? this.findHt : -this.findHt;
    }
    else {
    this.D = this.currentY;
       }
    }
    function animator() {
    var now = new Date();
    var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D;
    newY = Math.round(newY);
    if (( this.A > 0 && newY > this.currentY ) || ( this.A < 0 && newY < this.currentY )) {
    if ( ie4 )document.all.floatLayer.style.pixelTop = newY;
    if ( ns4 )document.layers["floatLayer"].top = newY;
    if ( ns6 )document.getElementById('floatLayer').style.top = newY + "px";
       }
    }
    function start() {
    if(ns6||ns4) {
    pageWidth = innerWidth;
    pageHeight = innerHeight;
    layerSetup();
    floatObject();
    }
    else if(ie4) {
    pageWidth = document.body.clientWidth;
    pageHeight = document.body.clientHeight;
    layerSetup();
    floatObject();
       }
    }
    //  End -->
    </script>

    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
     
    <BODY bgcolor="#FFFFFF" link="#725D35" onLoad="start()">
    <div align="left"><font color="#FFFFFF" size="+5" face="Agency FB"> -</font></div>
    <div id="floatLayer" style="position: absolute; height:200px; width:200px; left:806px; top:0px;z-index: 100"><font color="#FFFFFF" size="2" face="Book Antiqua"/> 
      <p>&nbsp;</p>
      <input type="text" value="0" id=""/></p
      ></div>
    <div align="right"> </div>
     
    <table width="21%" height="24" border="1" align="center" id="tb">
      <tr> 
        <td width="97"><div align="center"> 
            <input type="text" id="B1" onkeyup="calculTotal(1)" value="" size="8" />
            <input type="hidden" id="C1" value="2" />
          </div></td>
        <td width="96" height="8" id="colonne2"> <div align="center"> 
            <input type="text" id="A1" size="8"/>
          </div></td>
      </tr>
      <tr> 
        <td><div align="center"> 
            <input type="text" id="B2" onkeyup="calculTotal(2)" value="" size="8" />
            <input type="hidden" id="C2" value="4" />
          </div></td>
        <td width="96" height="8"><div align="center"> 
            <input type="text" id="A2" size="8"/>
          </div></td>
      </tr>
    </table>
    </body>
    </html>

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Re...
    si tous tes INPUT ont une ID avec le même préfixe, ici A, et que leur numéro se suivent tu peux faire un truc du style
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var ind = 1;
    var somme = 0;
    var oInput;
    while((oInput = document.getElementById('A' +ind))){
      if( oInput.value && !isNaN( oInput.value)){
        somme += parseFloat( oInput.value);
      }
      ind++;
    }
    alert( somme);

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci pour le code mais ça ne fonctionne pas ou plutôt je ne sais pas comment le placer pour le mettre en application!
    oInput correspond à quoi?

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    oInput est une variable prenant la valeur du champs dont l'id est A+incrément (A0,A1, ... An).

    ce qui fait que somme et la somme de tout les éléments dont l'id A+incrément sont présent sur ta page à raison que ça valeur soit renseignée et qu'elle soit un nombre.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ok mais le résultat il sort ou?Celui doit s'afficher dans le floatlayer!
    (extrait du code html):
    <div id="floatLayer" style="position: absolute; height:200px; width:200px; left:806px; top:0px;z-index: 100"><font color="#FFFFFF" size="2" face="Book Antiqua"/>
    <p>&nbsp;</p>
    <input type="text" value="0" id=""/></p
    ></div>
    Faut-il faire une fonction pour l'appeler ? Genre function somme()?
    Pas évident quand on débute!

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    dansle code exemple fournie tu as un "alerte(somme)" qui a pour but d'affiche une boite de dialogue avec la somme.

    donc si tu veux forcer l'affichage dans ton input, il lui faut un id

    <input type="text" value="0" id="total"/>

    et au lieu du alerte faire un document.getElementById('total').value=somme;

    Edit: Comme cela tend vers de la gestion javascript et non en réel rapport avec DW je migre la discussion

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Vil'Coyote-Tu as raison la discussion tend à migrer vers la gestion javascript bien qu'au début il s'agissait de DW;
    Je te remercie pour les infos ainsi que NoSmoking.
    @+

  10. #10
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    et pour tes colonnes, choisis plutôt des listes < ul >, le problème sera vite résolu;

  11. #11
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    j'ai rien pigé ou mettre un id sur la cellule qui contient le titre de ta colonne ne suffirait pas ?

    A+JYT

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    sekaijin-C'est à dire?

  13. #13
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Sorry, je n'avais pas bien pigé le problème.
    Comment génères-tu ton tableau ?

    A+JYT

Discussions similaires

  1. Supprimer toutes les lignes et colonnes d'un tableau
    Par pekka77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/12/2005, 11h26
  2. Espace entre colonnes d'un tableau
    Par rhum_un dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 09/11/2005, 13h21
  3. [vb/excel] suppression d'une colonne d'un tableau
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2005, 10h17
  4. Alignement de colonne d'un tableau
    Par G_Kill dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/04/2005, 21h17
  5. En-tête d'un des colonnes d'un tableau
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 06/05/2004, 17h13

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