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.
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.
on ne peut pas donner d'id à une colonne mais uniquement à une case donc
<td id="id"></td>
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> </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>
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);
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?
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.
Ok mais le résultat il sort ou?Celui doit s'afficher dans le floatlayer!
(extrait du code html):
Faut-il faire une fonction pour l'appeler ? Genre function somme()?<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> </p>
<input type="text" value="0" id=""/></p
></div>
Pas évident quand on débute!
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
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.
@+
et pour tes colonnes, choisis plutôt des listes < ul >, le problème sera vite résolu;
j'ai rien pigé ou mettre un id sur la cellule qui contient le titre de ta colonne ne suffirait pas ?
A+JYT
Sorry, je n'avais pas bien pigé le problème.
Comment génères-tu ton tableau ?
A+JYT
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager