|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Développeur Web Inscription : avril 2007 Messages : 323 ![]() |
Hello,
Le contexte: dev JS pour IE6, sans plugins. Je reprend actuellement le code JS d'une application où il y a tout un tas de fonctions de la forme : Code :
Du coup là jvais devoir tout reprendre pour éviter ça en ajoutant à chaque fois un fi du genre Code :
if(document.getElementById('monobj_div_text')){} En gros suivants les cas, la page contient pour chaque donnée soit un input text simple, soit un input text et un selec associé.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Développeur informatique Inscription : mai 2011 Messages : 20 ![]() |
Si je comprend bien tu veux faire un contrôle sur des champs (ou plutôt tester leurs valeurs) dont tu ne te sert pas dans certains cas ?
Pourquoi n'affiche tu pas tous simplement seulement les éléments que tu souhaite avec un javascript en fonction de cas d'utilisation et tu les valorise à ton goût ? Tu sera sûr que tes éléments seront accessibles. |
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
En ne faisant à chaque fois qu'un seul appel à la fonction, ça ne devrait pas être particulièrement gourmand...
Code :
De toutes façons, c'est considéré comme une bonne pratique, même hors de ton contexte, de commencer, au chargement de la page, par référencer ses éléments avec getElementById puis de ne toucher qu'aux références sans réappeler la fonction à chaque fois. Pour certaines pages très chargées ou très animées, ça peut faire un certaine différence ^^ Par contre, si j'ai un seul conseil à te donner : tu es dans un contexte qui n'est pas évident (IE6), occupe-toi déjà de faire un code fonctionnel ET maintenable. Une fois que tu auras réalisé ces deux objectifs, tu pourras alors envisager d'optimiser les performances. Dans l'ordre inverse, je te souhaite un agréable
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
||
|
|
00
|
|
|
#4 | ||||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonsoir,
tu crées une petite fonction Code :
Code :
- quoiqu'il arrive il faut tester l'existence de l'objet avant son utilisation, sauf si bien sûr tu es sûr de ton coup !!!! |
||||
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Développeur Web Inscription : avril 2007 Messages : 323 ![]() |
Ok merci à vous tous, jvais du coup rester sur mon idée et me farcir tout les if :p
Juste une question par contre : Code :
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
||
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
Citation:
Citation:
Sinon, elle ressemble à quoi ta page?
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire. |
||||
|
|
00
|
|
|
#7 | ||||||
|
Membre habitué
![]() Développeur Web Inscription : avril 2007 Messages : 323 ![]() |
Hello,
En simplifié ca donne quelque chose comme ça : Code :
Et en fonction de certains droits, pour tel ou tel champ, on génére soit seulement un input text, soit un text et un select en caché (qui sera actualisé via ajax et visible apres click sur le bouton plus(="../images/deroul2.gif)) En gros pour un champ les différents etats possibles : - le TR est en display none - TR visible, l'input text visible en readOnly avec la classe 'ro text' - TR visible, input text visible avec le bouton liste déroulante, le select en display none - TR visible, input text readOnly false Donc apres dans le code j'aurais bien fait quelque chose pour généraliser tout ça dans les controle et éviter les crashs quoi. EDIT: Code :
Code :
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
||||||
|
|
00
|
|
|
#8 | ||||||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
Si l'élément n'existe pas > ben pas remplie Ca n'empeche pas de se faire une mini-fonction qui teste l'affichage de l'élément et d'utiliser tour à tour les deux tests en fonction des besoins ^^ Code :
Citation:
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
||||||
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Développeur Web Inscription : avril 2007 Messages : 323 ![]() |
Ok merci
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
et pour être plus rationnel, appelle chaque élément par id, y compris les champs...
Code :
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire. |
||
|
|
00
|
|
|
#11 | |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
Code :
var sexi={ste : function(b){return b.genre != "feminin"}}; ...
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
le sexisme serait donc irrationnel?
gasp, faut que je me recycle là-dedans aussi |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com