Problème focus sous IE

Résolu
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 6 nov. 2006 à 10:11
cs_caloga Messages postés 1 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 7 septembre 2007 - 7 sept. 2007 à 07:48
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

cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
7 nov. 2006 à 08:45
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 ...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 nov. 2006 à 11:50
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)
0
cs_caloga Messages postés 1 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 7 septembre 2007
7 sept. 2007 à 07:48
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
0
Rejoignez-nous