Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2011, 13h45   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 6
Points : 0
Points : 0
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.
treskao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 19h28   #2
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 303
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 303
Points : 4 481
Points : 4 481
on ne peut pas donner d'id à une colonne mais uniquement à une case donc
<td id="id"></td>
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 20h40   #3
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 6
Points : 0
Points : 0
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 :
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 :
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>
treskao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 23h04   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 774
Points : 4 774
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 :
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);
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 00h08   #5
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 6
Points : 0
Points : 0
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?
treskao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 00h29   #6
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 303
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 303
Points : 4 481
Points : 4 481
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.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 00h44   #7
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 6
Points : 0
Points : 0
Ok mais le résultat il sort ou?Celui doit s'afficher dans le floatlayer!
(extrait du code html):
Citation:
<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!
treskao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 12h52   #8
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 303
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 303
Points : 4 481
Points : 4 481
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 13h42   #9
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 6
Points : 0
Points : 0
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.
@+
treskao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 19h07   #10
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
et pour tes colonnes, choisis plutôt des listes < ul >, le problème sera vite résolu;
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 15h12   #11
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
j'ai rien pigé ou mettre un id sur la cellule qui contient le titre de ta colonne ne suffirait pas ?

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 17h53   #12
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 6
Points : 0
Points : 0
sekaijin-C'est à dire?
treskao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 07h12   #13
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
Sorry, je n'avais pas bien pigé le problème.
Comment génères-tu ton tableau ?

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h13.


 
 
 
 
Partenaires

Hébergement Web