dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Dolibarr-dev] commande : dernière lignedoublée


From: Christophe PEREZ
Subject: RE: [Dolibarr-dev] commande : dernière lignedoublée
Date: Tue, 13 Jun 2006 09:21:18 -0400

Le lundi 12 juin 2006 à 19:20 +0200, Régis Houssin a écrit :
> > Le lundi 12 juin 2006 à 10:58 +0200, Régis Houssin a écrit :
> > > Oui j'ai déjà signalé ce problème lorsqu'on a inclus cette
> > > fonctionnalité
> > > avec André, je cherche d'où ca peut venir.
> > 
> > Ah, ok, désolé je n'avais pas vu passer.
> > J'y jetterai peut-être un oeil alors...
> > 
> 
> ok merci 


Je commence à regarder ça, et j'ai déjà quelques commentaires :

- le code source de la page est absolument illisible. Aucune
indendation, aucun retour à la ligne dans toute la partie concernée.
C'est affreux à analyser.

- éviter les <td nowrap> en remplaçant pas <td nowrap="nowrap"> comme
cela a déjà été fait par Laurent dans bon nombre de scripts.

- une erreur sur un href qui ne comporte pas les ""

- mais surtout, pourquoi charger 8 fois (autant que de lignes) la lib
prototype.js ? Cela ralenti considérablement l'affichage, et je ne vois
pas ce que cela apporte.

- ceci n'a pas beaucoup de sens dans la fonction select_produits :
                        print '</script>';
                        print '<script type="text/javascript">';

- le bug vient de l'affectation de idprod8 avec la même valeur que le
dernier produit sélectionné. A mon sens, le fait de déclarer autant de
fois des fonctions comme publish_selvalue() qu'il n'y a de lignes est la
cause de l'erreur.
En extrayant :
//                      print '<script type="text/javascript"
src="'.DOL_URL_ROOT.'/lib/prototype.js"></script>';
//                      print 'function 
publish_selvalue(obj){$("'.$htmlname.'").value =
obj.options[obj.selectedIndex].value; alert(obj.name);}';
du code de select_produit()
et en rajoutant :
if($conf->use_ajax) {
        print '<script type="text/javascript"
src="'.DOL_URL_ROOT.'/lib/prototype.js"></script>';
        print '<script type="text/javascript">';
        print 'function publish_selvalue(obj){$(obj.name).value =
obj.options[obj.selectedIndex].value; alert(obj.name);}';
        print '</script>';
}
avant la boucle :
                                for ($i = 1 ; $i <= $NBLINES ; $i++)

Ça a l'air de fonctionner correctement.
Bon, j'ai regardé ça en vitesse, je ne suis sûr de rien, mais c'est vrai
que l'écriture du code ne fait pas du tout envie de s'y plonger.

-- 
Christophe





reply via email to

[Prev in Thread] Current Thread [Next in Thread]