begin process at 2012 05 29 19:14:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

onkeypress = function sous IE ne fonctionne pas, une autre solution?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

onkeypress = function sous IE ne fonctionne pas, une autre solution?

jeudi 14 février 2008 à 10:10:10 | onkeypress = function sous IE ne fonctionne pas, une autre solution?

maelob

Membre Club
Bonjour à tous,

comme expliquer dans ce sujet : http://www.javascriptfr.com/infomsg_FONCTION-REPLACE-EMULER-CAPS-LOCK_1069004.aspx#7

Je suis en train de mettre en place de l'aide à la saisie pour un utilisateur dans un formulaire. Ici c'est un select avec un nombre assez impressionnant d'options donc j'ai créer une fonction javascript qui aide l'utilisateur à retrouvé l'option qu'il desire en donnant le focus à ce select et en tapant au clavier les premières lettres de l'options.

Tout cela fonctionne très bien avec firefox, pour tester les autres navigateurs j'utilise les identités de konqueror parce que je n'ai pas la possibilité d'acceder à un poste windows pour tester ma fonction avec IE et encore moins un mac pour safari.

Enfin bref ma fonction ne fonctionne avec aucune des identités (même celle de ff) de konqueror je suppose donc que je l'ai mal écrite.

Voici le début de ma fonction :

function find_group (id) {

    var element = document.getElementById(id);
    var conteneur = document.getElementById('pict');
    var timeout;

    element.onkeypress = function (event) {//Konqueror ne passe jamais cette étape
        clearTimeout(timeout);//reset du timeout

        if (event.which) {
            var char = event.which;
        }
        else {
            var char = event.keyCode;
        }
..
..
..


Je ne met volontairement pas la suite car Konqueror bloque à la ligne
  element.onkeypress = function (event) {


Après je en sais pas si ce que j'ai écris est faux mais ff le fait quand même ou si c'est juste une écriture spécifique à ff.

En tout cas merci de vos réponses.

Elo
jeudi 14 février 2008 à 13:51:59 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

maelob

Membre Club
Bon j'ai un petit peu changer donc c'était bien ça onkeypress = function (event) n'est pas reconnu il y a donc la solution

onkeypress = nom_de_la_fonction(params)...

Je bosse la dessus pour le moment si je m'en sors pas je reviesn vous voir ;-)

Mais bon si vous avez une solution ça m'aiderai ar avec cette solution ça ne fonctionne pas du tout comme je le voulais...
jeudi 14 février 2008 à 14:54:04 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

bultez

Membre Club


Bonjour,
    je ne savais pas très bien comment répondre...
    je n'ai pas compris si c'était un problème général ou spécifique à konqueror
       sur konqueror je ne pourrais guère t'aider...
       si ça plante sur la plupart des navigateurs, on peut regarder...


                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 15:00:02 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

bultez

Membre Club


si c'est général :


function Touche(evt)
{  var tch=ie?event.keyCode:evt.which;
    if ( tch==n° d'ordre de la touche )    // 110, par exemple, c'est le point
    {      }
}
...
event = event?event:window.event;
Touche(event);


                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 15:02:59 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

bultez

Membre Club
j'ai omis ie qui est=true si on est avec IE, false sinon

                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 15:03:08 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

maelob

Membre Club
En le truc c'est que pour que IE accepte passe à l'étape suivante il faut que j'ecrive
element.onkeypress = change_group(event, id);

function change_groupe (e, id) {
    //le reste de ma fonction ici

}

Maintenant le truc c'est que ma fonction n'a plus du tout le comportement attendu... car a partir du moment ou je donne le focus a mon select il execute la fonction change_groupe aulieu d'attendre que l'utilise tape sur une touche...
De plus je n'ai pas accès a un poste windows quand je le veux et je ne crois pas que je puisse installé un debuggeur non plus car ce sont des poste ou il y que très peu de droits...

Enfin bref je sais pas trop quoi faire.

Une petit idée? Tu veux voir mes 2 versions de fonctions pour comprendre?

Merci

Elo
jeudi 14 février 2008 à 15:20:35 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

bultez

Membre Club



c'est IE qui rale ?   non ?!?...

var event = event?event:window.event;
element.onkeypress = change_group(event, id);

function change_groupe (e, id) {
  
var tch=event.keyCode?event.keyCode:e.which;
   //on peut traiter tch et document.getElementById(id)
}

enfin.. pas loin ( pas testé ) et si id est ok....

>>Tu veux voir mes 2 versions de fonctions pour comprendre?
    quelles 2 versions ?
    fais nous plutôt un extrait ( le minimum ) pour voir ce qui se passe
          et où ça queute.
       ( d'ailleurs ça te permettra peut-être de résoudre seulE )




                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 15:49:24 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

maelob

Membre Club
Maintenant c'est ff qui rale je lui declare event après il me dit que c'est pas defini mais bon (c'est pas le plus important je me debrouillerait pour ça) pour IE il l'execute mais quand on donne le focus pas quand il y un onkeypress

voici un exemple pour mon select un truc normal...
<select id = "group0a" name="group0" onFocus="find_group ('group0a');" onBlur="javascript:initialize();">

La fonction qui fonctionne avec ff en raccourcis
//variables globales
var chaine ='';
var j = 0;

function find_group (id) {

    var element = document.getElementById(id);
    var conteneur = document.getElementById('pict');

    element.onkeypress = function(event) {

        if (event.which) {
            var char = event.which;
        }
        else {
            var char = window.event.keyCode;
        }
            var character = String.fromCharCode(char);
            chaine = chaine+character;
       //je vide mon select et recherche les options correspondantes a la chaine entrée les options sont enregistré dans une variable globale
   }
}


Et ce que je viens d'ecrire pour que ça fonctionne avec IE en raccourcis aussi

//variables globales
var chaine ='';
var j = 0;
function find_group (id) {

    var element = document.getElementById(id);
     var event = event?event:window.event;
    element.onkeypress = change_group (id, event);
}
    function change_group(id, event) {
        var conteneur = document.getElementById('pict');
        var element = document.getElementById(id);

        if (event.which) {
            var char = event.which;
        }
        else {
            var char = event.keyCode;
        }
            var character = String.fromCharCode(char);
            chaine = chaine+character;

       //je vide mon select et recherche les options correspondantes a la chaine entrée les options sont enregistré dans une variable globale
    }

Bon maintenant IE ne cherche pas a comprendre si y'a un onkeypress ou pas il execute change_group quand on donne le focus au select... et ff rale car event n'a pas de propriété... en tradusant de l'anglais ;-)

Merci
jeudi 14 février 2008 à 15:57:34 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

maelob

Membre Club
>>  ( d'ailleurs ça te permettra peut-être de résoudre seulE )

Precise bien sur le E pour montrer que ya des femmes aussi dans le monde de l'infomatique
jeudi 14 février 2008 à 17:07:29 | Re : onkeypress = function sous IE ne fonctionne pas, une autre solution?

maelob

Membre Club
Bon j'ai parcourue ds milliers de kilomètres pour trouver un poste sous windows et j'en ai trouvé un.

Pour ma solution qui fonctionne avec ff, il me dit que which à la valeur nulle ou n'est pas un objet (je comprend pas pourquoi il s'occupe de which) et refuse de faire quoi que ce soit...

Pour l'autre solution ben d'après lui il y a une erreur au crochet fermant de la fonction find_group... donc en faite pas du tout le même comportement que konqueror et son identité IE (c'est bon a savoir d'ailleurs). Konqueror lui execute change_group meme si ya pas touche appuyée...

I'm still looking for a solution ;-)



1 2 3

Cette discussion est classée dans : fonction, function, var, event, onkeypress


Répondre à ce message

Sujets en rapport avec ce message

problem ds ma fonction ajax [ par kate1910 ] bonjour tout le monde svp est ce que quelqu'un peut me dire c'est quoi le probleme dans ma fonction ajax,normalement cette derniére va permettre a de Problème de setInterval qui ne se clear pas. [ par dejees ] Bonjour a tous je développe actuellement une petite fonction javascript qui sert a déplacer une map 2D en Xajax. Cette fonction sert a déplacer la ma jquery liscroller aide ! [ par phoenixgreg ] Hi tt le monde ! Voilà j'ai mon petit script jquery liscroller, il fonctionne très bien, le texte défile mais j'aimerais qu'il défile à la vertical ( Problème avec function [ par titan3131 ] [^^happy10] Pierre Nonclercq Bonjour Je suis débutant et fait beaucoup d'exercice pour me faliliariser avec javascript Voici le code que j'ai écrit Créer un parcours pour mon labyrinthe [ par VouMi ] Salut à toi! Alors voilà mon petit problème.. je veux créer un labyrinthe dans le code source que j'ai déjà : <meta http-equiv="Conte Réduire la longueur de ma fonction [ par smile75 ] Bonjour à tous, Je tente de faire un formulaire un peu plus sexy avec l'utilisation de bouton ajouter masquer des champs. Pour cela j'ai d'abord insér Aide aux cookies [ par Annadrill ] Bonjour, je réalise un site accessible pour une association et j'aimerais que l'on puisse agrandir ou rapetisser la taille du texte. Mon problème s mon diapo ne s'affiche pas sans connection [ par hitu ] Bonjour j'ai réalisé un diaporama mais celui ne s'affiche pas quand je ne suis pas connecté! Merci d'avance voici mon code: [code=as][code=html] API Google Maps : Ajouter fonction Geogoder [ par a44icus ] Bonsoir, étant débutant en javascript, j'ai récupéré un script me permettant de gérer différents marqueurs sur la map google. J'aimerai intégrer main besoin d,aide sur un jeu en php [ par alfredo09 ] bonjours a tous je joue a un jeu en php world of stargate et je me sert d,un script pour planifier mes soldats. il faut 8 minutes pour crée 3 soldats


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales