Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire Cours JavaScript, 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 04/12/2009, 13h15   #1
Nouveau membre du Club
 
Date d'inscription: mars 2005
Messages: 64
Par défaut [Différences entre deux postes] Initialisation d'un élément

Messieurs Dames, bonjour,

Je vous explique un petit souci que je trouve fortement étrange et (surtout) que je n'arrive pas à reproduire :

J'ai un site dont certaines listes déroulantes ont été réécrites pour les personnaliser. Une routine d'initialisation permet d'attribuer des styles aux éléments la composant (Cf. code plus bas) et c'est elle qui plante (parentNode ou parentElement non défini, alors qu'il l'est sur les autres postes...).

Mon souci :
- sur la majorité des postes, ça marche trèèèès bien.
- sur un poste, ça marche pô du tout (rien ne déroule)

J'ai bien dit poste : le symptome est indépendant du navigateur et si on se connecte au-dit poste (serveur, donc), ça plante aussi.
Le seul moyen qu'on ait trouvé pour reproduire l'erreur sur un autre poste, c'est de faire une erreur de synthaxe dans la fonction d'initialisation...

Si vous aviez la moindre idée de commencement de début de piste pour corriger ce souci, je vous en serait éternellement reconnaissant.

Merci, donc et bon WE à toutes zé tous.

Comme promis, le bout de code :

Code :
function __initDropDown(dropdownroot, dropimage, listitems, selectedValueField, selectedTextField, postback, showOnLoad, enabled, handleClick){
//try{
    var drop = document.getElementById(dropimage);
    if (enabled == "true"){
        drop.onmouseout = function(){
            if (drop != null) {
                drop.className = "drop";
                if (drop.parentNode != null) {
                    drop.parentNode.className = "selected";
                }
            }
        }
        drop.onmouseover = function(){
            if (drop != null) {
                drop.className = "drop dropon";
                if (drop.parentNode != null) {
                    drop.parentNode.className = "selected_focus";
                }
            }
        }
        drop.onmousedown = function(){
            if (drop != null) {
                drop.className = "drop dropclic";
            }
        }
        drop.onmouseup = function(){
            if (drop != null) {
                drop.className = "drop dropon";
            }
        }
        drop.onclick = function(event){
            __showDropDown(listitems,dropdownroot,event); 
            if (drop != null) {
                if (drop.parentNode != null) {
                drop.parentNode.className = "selected_focus";}
            }
        }
        drop.onfocus = function(event){
            if (drop != null) {
                if (drop.parentNode != null) {
                drop.parentNode.className = "selected_focus";
                }
            }
        }
        drop.onblur = function(event){
            if (drop != null) {
            if (drop.parentNode != null) {
                drop.parentNode.className = "selected";
                }
            }
        }
        
    }else{
    if (drop != null) {
        drop.className = "drop dropreadonly";
        }
    }
    
    var list = document.getElementById(listitems);
    __listdropdown.push(list);
    
    if (document.getElementById(showOnLoad).value.toLowerCase() != "true"){
        list.style.display = "none";
    }else{
        document.getElementById(listitems).style.display = "";
        if (document.getElementById(dropdownroot).clientWidth == 0){
            document.getElementById(listitems).style.width= "100%" ;
        }else{
            document.getElementById(listitems).style.width= document.getElementById(dropdownroot).clientWidth + "px" ;
        }
        idDdlOpen = listitems;
    }
    document.getElementById(showOnLoad).value = "false";
    
    drop.onkeyup = function(event){
        if (event != null) {
            touche = window.event ? event.keyCode : event.which;
            if (touche == 40) { // on déroule le menu lorsque l'on capture la touche fleche bas
                __showDropDown(listitems,dropdownroot,event);
            }
        }
    }
    
    var items = list.getElementsByTagName("div");
    for (var i=0; i<items.length; i++){
        if (items[i].parentNode == list){
            if (items[i].className = "item"){
                items[i].onmouseover = function(){
                    this.className = "itemover";
                }
                items[i].onmouseout = function(){
                    this.className = "item";
                }
                
                if (handleClick.toLowerCase() == "true"){
                    items[i].onclick = function(event){
                        selectedChanged = __handledropdownclick(this, dropdownroot, selectedValueField, selectedTextField, showOnLoad, event);
                        drop.focus();
                        if (selectedChanged){
                            eval(postback);
                        }
                    }
                } else {
                    items[i].onclick = function(event){
                        __stopPropagation(event);
                    }
                }
            }else{
                items[i].onclick = function(event){
                    __stopPropagation(event);
                }
            }
        }
    }
    
    list.onclick = function(event){
        __stopPropagation(event);
    }
//    }
//catch(err)
//{} 
}
Skyou est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 13h18   #2
Responsable Développement Web
 
Avatar de Bovino
 
Date d'inscription: juin 2008
Localisation: Bordeaux
Âge: 39
Messages: 6 719
Par défaut

Salut.
Si le problème dépend du poste et pas d'un navigateur, il y a peu de chances que le problème vienne du script...
Est-ce que ce ne serait pas plutôt un problème d'activation de JavaScript ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Bovino est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 13h22   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 677
Par défaut

les paramètres regionnaux son ils identiques sur tous les postes ???
separateur decimal, charset par defaut ... ?
les versions des navigateurs son identiques ?
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 13h39   #4
Nouveau membre du Club
 
Date d'inscription: mars 2005
Messages: 64
Par défaut

Z'êtes rapides, les gens, merci

Alors pour vous répondre dans l'ordre :
Javascript est bien activé partout.
Pour les paramètres régionaux, va falloir que je vérifie, tiens. Mais normalement, les paramètres du navigateur sont prioritaires sur ceux du poste (virgule si en français, point si en anglais dans le choix de la langue de Firefox, par exemple).
Mais ya aucune valeur numérique utilisée jusqu'au déclenchement du bug...
Les versions des navigateurs sont les mêmes : dernières de IE et Firefox : même problème sur les deux...

L'activation ou non du débogueur de script d'IIS ne change rien non plus.

Je viens de changer quelques trucs suite à vérification de la synthaxe avec Javascript Lint (=== au lieu de ==) , mais il ne me sortait que des avertissements...
Skyou est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 14h21   #5
Modérateur
 
Date d'inscription: janvier 2007
Messages: 7 505
Par défaut

Bonjour,
Citation:
Envoyé par Skyou Voir le message
J'ai bien dit poste : le symptome est indépendant du navigateur et si on se connecte au-dit poste (serveur, donc), ça plante aussi.
Pas bien clair, là ...
Le serveur utilisé est le même dans tous les cas ?
Et seul un des postes clients pose problème, c'est bien ça ?
Citation:
Envoyé par Skyou Voir le message
L'activation ou non du débogueur de script d'IIS ne change rien non plus.
Et un debuggeur côté client (style Firebug) ?

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 15h24   #6
Nouveau membre du Club
 
Date d'inscription: mars 2005
Messages: 64
Par défaut

Désolé pour le confusage : dans le cas de l'application, pour l'instant, serveur et client sont les mêmes (butineur sur le serveur).
C'est dans le cadre de mon souci que je me suis connecté depuis un autre poste sur le serveur principal pour cibler l'origine du dit-souci .
=> Problème reproduit sur le client, donc ça vient du serveur. Parce qu'avec le même client, en allant taper sur un autre serveur, ça fonctionne (allez comprendre).

Et FireBug m'a juste dit que "parentNode" (Cf code fourni) n'était pas défini, pas moyen de savoir pourquoi vu que le projet est composé de pas mal de couches et surcouches dont certaines ne peuvent être débogguées (ya deux G ?).

Et comme le poste incriminé est actuellement sur la route, je peux pas le tester en live... Mais il faut qu'il fonctionne à l'arrivée...
Vive l'organisation
Skyou est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 15h41   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 677
Par défaut

quel est le default charset du serveur ?
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2009, 15h56   #8
Nouveau membre du Club
 
Date d'inscription: mars 2005
Messages: 64
Par défaut

Sur ceux qui fonctionnent : ISO-8859-1
Sur celui qui est actuellement dans un coffre de bagnole sur l'autoroute, bah j'ai du mal à lui demander (désolé)

Mais si le problème persiste, je ferai analyser.
Mais a priori, le FireFox utilisé venait juste d'être installé, donc le default charset devait être celui de l'install, s'il y en a un.

P.S. : C'est où, les inscriptions au CCMPTP ?
Skyou est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/12/2009, 11h05   #9
Nouveau membre du Club
 
Date d'inscription: mars 2005
Messages: 64
Par défaut

Bon, bah résolu.

Le souci venait des != à la place des !== et des == à la place des ===.
Merci le validateur de Javascript.

Bizzarement, ces "erreurs" n'étaient vues que comme des warnings dans l'analyseur...

Vivement que Visual Studio intègre correctement le JS dans son interface, tiens... A mais, attendez... Java... c'est pas un concurrent, ça ? Ah, bah m...
Ca risque pas d'arriver avant un bout de temps, alors
Skyou est déconnecté   Envoyer un message privé Réponse avec citation
NEWS JAVASCRIPTF.A.Q JSTUTORIELS JSSOURCES JSLIVRES JS

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 14h54.


Vos questions techniques : forum d'entraide JavaScript - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.