Problème focus sous IE

[Résolu]
Signaler
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
-
Messages postés
1
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
7 septembre 2007
-
Bonjour,

Je n'ai pas trouvé de réponses sur le web et ici, donc je pose ma question

J'ai une fonction javascript qui m'affiche un champ input de type text dans des cellules de tableau quand je double-clique dessus.
Le problème est que je n'arrive pas à donner le focus au champ text une fois qu'il est créé. Sous Firefox ça marche très bien, mais pas sous IE, je vous mets le code de ma fonction javascript :

function changeEtatCase(cellule)
{
       element = cellule; //On récupère la cellule qui a été double-cliquée
       element.innerHTML = ''; //Affichage d'un champ text pour la saisie
       document.getElementById('saisie').focus(); //On donne le focus à ce champ text
}
Voilà, merci d'avance !!

23 réponses

Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Je dis peut-être un bêtise, mais peut-être que chez moi ça prend beaucoup de temps parce que j'ai un grand tableau ...
Enfin je me rappelle qu'au début où j'avais commencé à coder ma page ça marchait, et puis hier je me suis rendu compte que c'était plus le cas, et entre le début de la création de la page et l'état actuel, beaucoup de choses ont été ajoutés niveau code. Peut-être aussi que j'ai pas très bien optimisé mon code, et que donc ça prend du temps, je sais pas ...
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B

onjour...
Heureusement je ne suis pas au coeur des exploreurs, mais je pense que leur système d'éxecution est différent => pas les mêmes priorités...il n'y à qu'a voir l'ordre de chargement des images d'un exploreur à l'autre.

Il faut dire que l'on viole un peu leur intimité en procédant de la sorte.
A voir si le même problème persiste avec la fonction appendChild();
;0)
Messages postés
1
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
7 septembre 2007

J avais le même problème

avec cette fonction  (impossible d'avoir le focus)

functiontrim(x,n){

z= x .replace(/(^\s*)|(\s*$)/g, '' );
varexp =newRegExp("^[a-z A-Z][a-z A-Z -]*[a-z A-Z]$");

if(!exp.test(z))
{
alert("SVP sans accents,apostrophe et caracteres de ponctuation");
f= eval ( "document.formulaire." +n);
// f.select();

document.formulaire.titre_retenue.focus();
f.focus();

returnfalse;
}

else
{
z =z.toUpperCase();
f= eval ( "document.formulaire." +n);
f.value =z;

}
}

En fait je pense qu'il s'agit d'une situation batarde (un bug sous ie)
En quelque sorte il garde le focus  du champ qui à été saisi
mais celui-ci n'est pas opérationnelle.
Ainsi f.focus() ne marche pas  (ce champ a déja le focus)

il faut donc choisir un autre champ ,et lui donner le focus
document.formulaire.titre_retenue.focus()

ensuite   refaire l'opération
f.focus();
et ça  marche comme par magie.
Je ne sais pas ci cette solution repond à tes problèmes

Bien cordialement  Phil