begin process at 2010 03 21 03:51:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Saisie semi automatique


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

Saisie semi automatique

mardi 29 janvier 2008 à 09:11:47 | Saisie semi automatique

keket

Bien le bonjour. Je viens vous voir aujourd'hui car j'ai un petit soucis de compréhension avec un code que je n'arrive pas très bien a cerner. Le but atteint est d'afficher a la suite d'une saisie, une liste de nom de personne insérer dans un tableau javascript qui provient d'une base de donnée SQL. Mon tableau est couper en 2 parties. Une où se trouve l'ID de la personne et l'autre où se situe le Nom est le Prénom de cette dernière.Comment procéder avec le code suivant ?

Code de ma page index.php :
   
<div onkeydown="return moveSelection()">
            <input type="text" id="champ" onkeyup="window.setTimeout('refreshList();', 10); return getEnterKey()" />
            <div id="liste" style="width: 160px;border: solid 1px black;overflow: auto;display: none;"></div>
</div>

Code de ma page procedure_jsp.php :

function fillInput(i)
   {
    document.getElementById('champ').value = myArray[i][1];
    document.getElementById('liste').style.display= 'none';
    document.getElementById('champ').focus();
  }
 
   function refreshList()
   {
        if(document.getElementById('champ').value != old)
        {
            old=document.getElementById('champ').value;
            document.getElementById('liste').innerHTML = '';
            if (document.getElementById('champ').value.length > 0)
            {
                nbMatch = 0;
                content='';
                for (var j=0; j < myArray[].length; j++)
                {
                    if (myArray[j][1].slice(0, document.getElementById('champ').value.length).toUpperCase() == document.getElementById('champ').value.toUpperCase())
                    {
                        nbMatch++;
                        content += '<div id="' + nbMatch + '" class="result" onclick="fillInput(' + i + ')">' + myArray[j][1] + '</div>';
                    }
                }
                if (nbMatch)
                {
                    document.getElementById('liste').innerHTML = content;
                    document.getElementById('liste').style.height = (Math.min(5, nbMatch)) + 'em';
                    document.getElementById('liste').style.display = 'block';
                    selIndex=0;
                }
                else
                    document.getElementById('liste').style.display = 'none';
            }
            else
            {
                document.getElementById('liste').style.display = 'none';
            }
        }
   }

   function moveSelection()
   {
    if (event.keyCode == 40)
    {
     if (selIndex > 0 && selIndex < nbMatch)
     {
      document.getElementById(selIndex).style.backgroundColor = 'white';
      document.getElementById(selIndex).style.color = 'black';
     }
     if (selIndex < nbMatch)
     {
      selIndex++;
      document.getElementById(selIndex).style.backgroundColor = 'darkblue';
      document.getElementById(selIndex).style.color = 'white';
      document.getElementById(selIndex).focus();
     }
     return false;
    }
    else if (event.keyCode == 38)
    {
    if (selIndex > 1)
     {
      document.getElementById(selIndex).style.backgroundColor = 'white';
      document.getElementById(selIndex).style.color = 'black';
     }
     if (selIndex > 1 && selIndex <= nbMatch)
     {
      selIndex--;
      document.getElementById(selIndex).style.backgroundColor = 'darkblue';
      document.getElementById(selIndex).style.color = 'white';
     }
     return false;
    }
    return getEnterKey();
   }

   function getEnterKey()
   {
    if (event.keyCode == 13)
    {
     if (selIndex > 0)
     {
      document.getElementById('champ').value = document.getElementById(selIndex).innerText;
      document.getElementById('liste').style.display = 'none';
      old=document.getElementById(selIndex).innerText
     }
     return false;
    }
    else
    {
     return true;
    }
}

Mon tableau est bien transmit a ma fonction JSP mais elle ne sort aucun résultat. Cette fonction marche très bien lorsque le tableau n'a qu'une seule valeur. ICI dans la fonction JSP j'ai voulu changer myArray[i] par myArray[i][1] mais rien a faire.

Quelqu'un aura-t-il l'émabiliter de bien vouloir m'aider ? merci beaucoup.
mardi 29 janvier 2008 à 13:25:37 | Re : Saisie semi automatique

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Quel est le rapport avec Java ???? Javascript n'est pas du java !

Je déplace vers le forum js.
______________________________________
DarK Sidious
mardi 29 janvier 2008 à 13:52:36 | Re : Saisie semi automatique

keket

Réponse acceptée !
Merci, j'ai pas fait attention.

Sinon j'ai trouver la solution. un simple problème lors de ma boucle dans le javascript.
j a la place de i
Sinon j'ai un autre problème. Lors de l'affiche du résultat en dessous du input, des résultats saute du au scrollbar sur le coté.
Y a t-il un moyen de résoudre ce problème ?

Merci de vos réponse.
mercredi 30 janvier 2008 à 14:13:10 | Re : Saisie semi automatique

keket

Salut. Je viens préciser que mon problème s'effectue seulement sous FireFox Mozilla mais pas sous IE.
j'ai modifier les champs 'champ', ... par des variables qui permet de réutiliser plusieurs fois cette méthode dans une même page.
Si quelqu'un désir mon code, je lui enverrais.

Merci au personne qui pourrai m'aider pour mon dernière problème, sa serait sympa si sa marchai nikel.

a +
mardi 18 mars 2008 à 17:39:07 | Re : Saisie semi automatique

doubledu

salut keket sa fait un moment que tu as posté sa mais j'aimerai recuperer ton code parce que je suis confronté au probleme de la saisie semi-automatique.

J'ai déja codé une saisie semi-automatique mais je fais appel à ma servlet à chaque frappe dans le champ texte du coup sa ralenti mon site puisque je recharge la page à chaque fois... bref j'aimerai comparer mon code et le tien si tu veux bien.


Cette discussion est classée dans : style, document, getelementbyid, selindex, if


Répondre à ce message

Sujets en rapport avec ce message

Info-bulle avec usermap [ par f1hgu ] Bonjour,Dans le but de développer mon site, j'étais à la recherche d'un script faisant une info bulle avec un usermap et des areas shape. Ne trouvant, Comment puis-je améliorer ce script ??? [ par nanti ] Bonjour à tous !Tout d'abord, j'espère être dans le bon thème... !?Comme annoncer, je souhaite améliorer ces scripts pour n'en faire qu'un qui soit op Problème avec la position du curseur sur IE [ par Aeres ] Bonjour j'ai un petit soucis sous IE [^^sad2] je voudrais faire apparaitre une bulle d'infos à la position de la souris mais event.x semble dépendre d pb avec un formulaire select [ par ahah38 ] Bonjour, J'ai besoin d'aide sur un formulaire select. Je souhaite réaliser un carnet de route en utilisant un formulaire select. Les visiteurs pourron Commande Onclick agrandir image + afficher du texte [ par pharen ] bonjour à tous je souhaite réaliser une gallery photos ainsi les photos sont sur la page en petite taille. je click sur une photo et elle s'agrandit compatibilité javascript [ par camellion2 ] Bonjour a tous, Je suis novice en programmation et je me suis fait un petit site web pour me simplifier la vie au taf. Le problême c'est qu'au bureau Urgent!problème de fonction pour afficher un tableau [ par tagadax ] Bonjour j'ai un problème, j'ai un projet a terminer pour lundi, et je suis bloqué pour afficher un tableau voici ma fonction : [code=js]function decis onchange sous IE [ par j3r3m067 ] Bonjour, voila j'ai fait un script sous firefox qui m'affcihe une div en fonction de la valeur de la selection. je joins mes code html et js biensur problème avec un menu [ par 77marsmars77 ] Bonjour à tous, J'ai un petit souci avec mon menu. Quand je clique sur le menu 1 il m'affiche les sous menus1. là c'est ok. Quand je clique sur le lie Aide pour faire une boucle [ par nel_sim ] Bonjour ! Je débute en Javascript, c'est pour cela que j'ai besoin de vous ! En fait j'aimerai faire une boucle avec for ou while, mais je ne sais pa


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,498 sec (3)

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