gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008
-
27 févr. 2007 à 17:52
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
1 mars 2007 à 15:42
Bonjour, je fais l'interpretation d'une feuille excel sur une page Web, je travaille comme suit:
j'ai fais des tableau dans chaque cellule il y a un
et je travaille avec la methode onpropertychange pour executer plusieurs fonction.
le problème c'est j'ai un nombre enorme de
ce qui fait que à un certain moment j'arrive plus à executer les fonction, j'ai essayé avec les zone de texte ça me rend un stack overflow mais malgré ça les fonctions s'excute.
personnellement je vois pas une solution, qlq 1 peut il m'aider????
merci d'avance
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 27 févr. 2007 à 18:03
B onjour...
Un nombre important de DIV -> c'est combien 100, 1000, 10000 ou plus
Un peu de code pour plus d'éclairage serait le bien venu, le problème est peut être ailleurs...
possible que le onpropertychange, si je comprend bien, modifie le contenu de la cellule d'ou un onpropertychange en cascade etc...
;0)
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 28 févr. 2007 à 10:23
J'ai presque 200 div jusqu'à mnt, et je sais que le problème est là, tout marche parfaitement jusqu'au div 112 aprés rien ne change, si je désactive quelque div du début les autres div qui ne changéait pas de valeur fonctionne encore une fois jusqu'au div 112. Je ne peux pas mettre le code mais je pense que c'est un problème de mémoire peut être. s'il y a une autre façon d'avoir une page ayant une structure comme celle d'une feuille excel, Merci de me le signaler
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 28 févr. 2007 à 15:49
Oui les div s'ajoute normalement mais à un stade les fonction qui me renvoi les valeurs aux div ne fonctionne plus, donc j'arrive plus à changé le contenu du div. Vraiment je comprend pas pourquoi, ou je vois pas une solution
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 févr. 2007 à 16:00
>>mais à un stade les fonction qui me renvoi les valeurs aux div ne fonctionne plus,
>>donc j'arrive plus à changé le contenu du div
faut-il que l'on fasse un essai de fonctionnement sans trop comprendre
ce que tu fais... ou tu nous donnes un exemple ?
( un extrait, pas 368956 lignes !!! )
car, pour être simple... aucune raison, à priori !
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 28 févr. 2007 à 16:24
Quand j'extrait la partie qui marche pas, elle fonctionne trés bien, moi j'ajoute pas les div dynamiquement, je vais recommencer la page depuis le debut pour m'assurer qu'il y a pas un bug qlq part
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 28 févr. 2007 à 17:29
B onjour...
je confirme, pas de problème avec 800 x 600 divs dans une page
je confirme stack overflow ça c'est en général un fonction récursive ou encore une boucle mal maitrisée
je confirme à la lecture le problème est peut être ailleurs
...OUAIS mais qui suis je pour confirmé !!!
s'il y a une autre façon d'avoir une page ayant une structure comme celle d'une feuille excel
Une gestion grâce à une table
je te donne un exemple pour test sans plus de commentaire...
<html>
<head>
<title></title>
<script type="text/javascript">
//---------------------
function Cree_Tableau(){
var Html ="";
Html += '';
for( var j=0; j<10; j++){
Html += '----
';
for( var i=0; i<10; i++)
Html += 'Col='+ i +'
Lig='+ j+', ';
Html += '';
}
Html += '
';
document.write( Html);
}
//-------------------
function Test_Modif(){
var szTmp = document.getElementById( 'I_TXT').value;
for( var Lig=2; Lig<5; Lig++){
for( var Col=2; Col<7; Col++){
Modif_Valeur('T_TABLE', Lig, Col, szTmp + (Col+Lig));
}
}
}
//-------------------------------------------
function Modif_Valeur( id_, lig_, col_, val_){
var Obj = document.getElementById( id_);
var Nb_Ligne = Obj.rows.length;
if( lig_ <= Nb_Ligne){
var Nb_Col = Obj.rows[lig_].cells.length;
if( col_ <= Nb_Col){
Obj.rows[lig_].cells[col_].innerHTML = val_;
}
}
}
Cree_Tableau();
</script>
</head>
</html>
et pour finir je confirme qu'avec un bout de source il est plus souvent plus facile de répondre...
Bon courage...
;0)
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 28 févr. 2007 à 18:05
Merci pour ce bout de code je pense que je vais l'utiliser pour recommencer ma page, bon voilà la partie qui marche pas mais comme j'ai déjà dis ça marche trés bien quand je l'extrais du reste de la page
<TD noWrap align="right">
0.00
?
</TD>
<TD noWrap align="right">
0.00
?
</TD>
<TD noWrap align="right">
0.00
?
</TD>
je cherche toujours d'ou vient le problème, ma recherche n'a pas abouti et là je commence une nouvelle page
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2007 à 06:48
j'avoue ne pas connaitre onpropertychange...
c'est censé faire quoi ? être declanché quand ?
on n'en parle pas dans mes docs, et mon éditeur me met ça en rouge ?
dans rvGaranti2 on utilise document.getElementById(this.id).innerHTML
this.innerHTML suffirait.
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 1 mars 2007 à 10:29
Onpropertychange se declanche quand une propriété de la div change parce que onchange n'existe pas pour les div.
La fonction RevenuGestion est celle là
function RevenuGestion(mt){
rst= parseFloat(document.getElementById(mt).innerHTML* document.getElementById('pMarcheFinancier').innerHTML/100*document.getElementById('nMarcheFinancier').innerHTML/100)+ parseFloat(document.getElementById(mt).innerHTML*document.getElementById('pTrade').innerHTML/100*document.getElementById('nTrade').innerHTML/100);
return (rst);
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2007 à 10:49
comme on n'a pas les champs utilisés dans la fonction...
mais, elle ne peut pas provoquer le "stack overflow", bête calcul qui ne peut pas faire trop de mal.
mais, pourquoi diable être passé par des div là où des input text conviendraient ? non ? c'est fait pour ça.
<hr /> Cordialement Bul [mon Site] [M'écrire]<hr />
Il n'y a que du calcul OUI MAIS ce calcul change le innerHTML donc pas de problème, mais ne change t-il pas la largeur des DIVs
Si OUI il peut y avoir effet boule de neige
mettre une largeur fixe au DIV suffisament grande pour qu'il n'y ai pas de risque
Si NON
????
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2007 à 12:18
probablement bien vu PetoleTeam,
ça tourne autour d'un truc comme ça,
je n'arrivais pas à définir quoi exactement.
<hr /> Cordialement Bul [mon Site] [M'écrire]<hr />
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 1 mars 2007 à 15:00
quand je met des zones de texte il me rend un stack overflow et puis plus rien ne fonctionne, et je peux pas mettre et si je remplace onpropertychange par onchange plus rien ne se passe