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

XMLRAD Discussion :

xslc.js, SetFocus() et IE6


Sujet :

XMLRAD

  1. #1
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut xslc.js, SetFocus() et IE6
    Hello!
    J'ai une petite remarque, la routine SetFocus de xslc.js attribue le focus à un élément. Sous IE6 (et dans certains cas?, dans mon contexte d'utilisation en l'occurence) celle-ci fait "planter" le navigateur.
    En fait si la zone en question ne peut pas obtenir le focus, cela ne fonctionne forcément pas, mais le soucis c'est que IE part en vrille et il faut le relancer.
    Attention donc en utilisant SetFocus à tester avant si le focus est possible!

    Je propose donc que cette fonction face les tests necessaires avant, un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       if (obj.type != 'text') return false;
       if (obj.disabled || obj.readonly)  return false;
    avant le obj.focus();

    Michaël

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    Merci.
    Très bonne info. Il faudrait prendre en compte également le bouton ou la case à cocher.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    je voulais dire "le bouton radio"

  4. #4
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Ben j'y ai pensé au bouton radio, mais j'ai pas testé et je suis pas sur que cela pose pas le même soucis, car le check ou le radio ne peuvent à peine plus prendre le focus qu'une zone read only... à tester donc!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    Le code actuel xslc.js:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    function SetFocus(ID, Begin, Select) {
    	var obj, txt;
    	if (Begin == null)
    		Begin = true;
    	if (Select == null)
    		Select = false;
    	if (obj = getObject(ID))
    	{
    		if (isVisible(obj) == false || isDisabled(obj))
    			return;
    		obj.focus();
    		if (Begin == false)
    		{
    			if (obj.createTextRange)
    			{
    				txt = obj.createTextRange();
    				txt.collapse(false);
    				txt.select();
    			}
    		}
    		if (Select == true)
    		{
    			obj.select();
    		}
    	}
    }
    Test fait sur isVisible() et isDisable() avant le focus, pour les memes raisons.

    Est-ce que tu as testé l'attribut readonly sur d'autre navigateurs ?

  6. #6
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Oui, j'ai vu dans la beta c'est un peu mieux, mais pas suffisant à mon avis.
    IsVisible renverra vrai si le champ est de type hidden par exemple et donc le SetFocus sera fait quand mêm et ca plantera (c'etait mon cas) !
    Par contre je n'ai pas testé le readonly sur d'autres navigateurs. FF apparement cela le dérange moins. Mais bon, dès lors que la zone ne peut avoir le focus, il n'y a pas lieu d'essayer de le lui donner.

    Michael

Discussions similaires

  1. [javascript][IE6] changement automatique taille du texte
    Par MatMeuh dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 04/12/2008, 12h05
  2. URGENT : Request.Form ne marche pas sous IE6
    Par Laurent Outan dans le forum ASP
    Réponses: 9
    Dernier message: 16/07/2004, 15h25
  3. [débutant] setfocus sur un TextField
    Par k-reen dans le forum Composants
    Réponses: 2
    Dernier message: 29/06/2004, 16h21
  4. [MFC] CSplitterWnd et SetFocus
    Par venomelektro dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2004, 18h13
  5. Erreur setfocus??
    Par Alx-I dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/02/2003, 14h04

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