IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Gérer un clic sur un ascenceur de div


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 79
    Points
    79
    Par défaut Gérer un clic sur un ascenceur de div
    Bonjour,

    j'ai un petit soucis que je n'arrive pas à résoudre et qui pourtant parait simple.

    J'ai un champs texte (txtref) pour saisir une référence. Comme on n'est que des humains, et bien souvent fainéants, j'ai eu l'idée de proposer une liste de choix limitée à 100 références en fonction du texte frappé dans le champs texte.

    ma liste (un div : listref) s'affiche correctement quand j'ai le focus sur le champs texte.
    la détection de la présence de la souris sur la liste se fait correctement (un 1 dans le champs sous le mot Eff champs qui mutera en partie cachée après fonctionnement correct de cette partie)
    Quand je clique sur ma liste de références, le focus était perdu, mais je le redonne au champs texte, j'ai réussi en testant le onclick sur le div.
    Quand je déroule la liste avec la molette de la souris, le focus est conservé,

    MAIS ... quand je clique dans l'ascenseur pour descendre dans la liste, alors le focus est perdu (aucun évènement ne semble correspondre à cette action, ce qui me permettrait de rétablir le focus sur le champs texte) j'ai tenté de décaler l'action dans le temps en me disant que peut-être le navigateur s'occupait de déplacer l'ascenseur après que j'ai tenté de remettre le focus, mais non... aucun passage dans la routine onclick.

    la page se trouve ici : http://standard.ressorts.org/panier1.php qui se charge de récupérer la session active, le nom du client ses coordonnées pour lui afficher son panier.

    Il y a quelque chose qui m'échappe

    edit: la partie qui se trouvait là a été effacée pour des raisons de sécurité ultérieure

    J'en perds mon java....

    merci à ceux qui pourront m'aider à trouver une solution.
    mac pro bi-quad néhalem (2009) (16 proc et 8Go me MeV)
    Programmation : HTML - Javascript - PHP - AJAX - CSS : niveau amateur pour l'ensemble.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    un petit tour sur le lien pour voir que je ne vois pas où est ton problème

  3. #3
    Membre régulier
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    Merci pour le "déplacement"

    Quand je veux rentrer une référence, je clique sur le champs dans la colonne référence.
    Ca m'ouvre un div qui affiche (merci ajax) une liste des références existantes limitée à 100 en quantité.
    Comme la liste est plus longue que le contenant, j'ai un ascenseur sur la droite.

    Quand je clique sur cet ascenseur pour déplacer la liste, je perds le focus sur le champs texte (que je récupère aussitôt que je déplace la souris ) et c'est ce point qui me gène. Au travail, je joue de la molette, sur le portable : avec 2 doigts, mais chez moi, la molette est HS, je dois donc cliquer et c'est comme ça que je me suis rendu compte du problème

    Après un test sur un autre navigateur, il me semble que ce soit safari sur apple qui merde, ça fonctionne avec firefox mac et le problème est de nouveau présent avec chrome sur mac.
    Je crois que je vais laisser tomber ce "détail" de présentation, mais ça me pourrit la vie pour supprimer la liste (sans mes différents tests et modifications diverses (des rustines en fait) je me retrouvais avec une liste qui disparaissait quand je cliquais dans l'ascenseur et quand je redonnais le focus au champs, l'ascenseur était de nouveau en haut...

    Le problème n'est pas résolu pour safari et chrome sur mac (pas pu tester sur les navigateurs PC) mais il n'y a pas de problème avec firefox.

    J'ai oublié de préciser que en général, ce que je programme ne fonctionne pas avec IE (et je ne peux pas corriger puisque je n'ai pas de PC sous la main)
    mac pro bi-quad néhalem (2009) (16 proc et 8Go me MeV)
    Programmation : HTML - Javascript - PHP - AJAX - CSS : niveau amateur pour l'ensemble.

  4. #4
    Membre confirmé Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Points : 509
    Points
    509
    Par défaut
    Bonjour, je teste en ce moment sous safari 9 et chrome 46 sous Yosemite, aucun problème de l'ordre de celui que tu soumets ici. pareil sous Safari 6 en machine virtuelle.
    ça passe aussi sous IE11, mais pas sous IE9
    As-tu corrigé de ton côté?

    voici les erreurs IE9:
    Object doesn't support this property or method
    panier1.js line 27 character 2
    Object doesn't support this property or method
    panier1.js line 60 character 2

    attention les index character semblent ne pas correspondre à des caractères mais plutôt à des objets texte, bienvenue chez petit mou!

    pour les tests IE, je te conseille vivement d'installer virtualbox au moins l'image pour IE9 http://osxdaily.com/2011/09/04/inter...ie8-ie-9-free/

    si ça passe sous IE9 ça passera sous les plus modernes.
    0x4F

  5. #5
    Membre régulier
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    Bonjour, et merci de te pencher sur mon problème...

    En effet, je tente de trouver des solutions pour résoudre le problème, alors effectivement, certains problèmes sont résolus. (mais pas ce problème de perte de focus à l'issue du clic sur l'ascenseur d'un div sur safari 5)

    Donc si ça fonctionne avec les version récentes de safari ainsi qu'avec les récentes de IE, alors tant mieux (le mien est un safari 5.0.6 sur osX.5.8 - je sais que je suis hasbin, mais la programmation n'est pas mon métier, juste une passion que j'exerce au maximum 1 à 2h par jour, la mise à jour de mon système tous les X temps, avec le coût que ça engendre (on a 6 systèmes d'exploitation d'écart en 6 ans, je refuse le dictat des mises à jours obligatoires et surtout l'impossibilité de se servir de certains site si on n'est pas avec les derniers éléments.) Je n'ai plus accès à certains sites parce qu'ils utilisent la dernière version de flash que je ne peux plus mettre à jour, alors je me passe de ces sites. Mais je ne veux pas que ceux qui ont encore un vieux système d'exploitation ne puissent pas accéder à mes pages

    Je vais donc considérer que mon problème n'en est pas un puisqu'il vient des navigateurs et pas d'un problème de programmation et surtout, quand je regarde les hits du mois dernier sur mon hébergement, j'ai ceci :
    1 2993769 99.29% Mozilla/Netscape

    merci à ceux qui m'ont répondu. Je vais aussi changer le premier texte en retirant le lien qui de toutes façons ne fonctionnera plus dès que ma page fonctionnera correctement puisque tous les fichiers sont alors renommés...

    En ce qui concerne les erreurs sous IE10, je ne vois pas ce qui gène...
    mes lignes 24 à 27

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	var d = new Date();
    	datej="00"+(d.getDay()+1);
    	datem="00"+(d.getMonth()+1);
    	date=datej.substring(datej.length-2,datej.length)+"/"+datem.substring(datem.length-2,datem.length)+"/"+d.getFullYear();
    le tout pour récupérer une date à la mode française avec 2 chiffres même quand la date est inférieure à 10

    et ma ligne 60
    ou la fonction fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function getdiv(texte) {
    	val=document.getElementById(texte).innerHTML;
    	return val;
    }
    mac pro bi-quad néhalem (2009) (16 proc et 8Go me MeV)
    Programmation : HTML - Javascript - PHP - AJAX - CSS : niveau amateur pour l'ensemble.

  6. #6
    Membre confirmé Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Points : 509
    Points
    509
    Par défaut
    J'avoue que je ne comprends pas non plus, je viens de tester un autre fichier avec tes méthodes indépendantes... getdiv ainsi que les méthodes standard substring et getFullYear sur l'objet Date.
    Aucune erreur ce coup ci!
    0x4F

  7. #7
    Membre régulier
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    C'est pas bien grave alors... merci d'avoir testé.
    mac pro bi-quad néhalem (2009) (16 proc et 8Go me MeV)
    Programmation : HTML - Javascript - PHP - AJAX - CSS : niveau amateur pour l'ensemble.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment gérer des clics sur les touches du clavier:
    Par choko83 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 11/03/2008, 11h15
  2. Gérer un clic sur une surface
    Par _SamSoft_ dans le forum SDL
    Réponses: 4
    Dernier message: 08/02/2008, 12h55
  3. [débutant] Gérer le clic sur un bouton d'un menu
    Par nounetmasque dans le forum Flex
    Réponses: 6
    Dernier message: 29/01/2008, 14h46
  4. afficher le contenu d'un div au clic sur un bouton
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 10/07/2006, 17h37
  5. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo