Avatar billede andersbl Nybegynder
07. juli 2010 - 11:38 Der er 4 kommentarer og
1 løsning

Gøre brug af keyboard event til at vælge mulighed i ajax autosuggest.

Hej Eksperter!
Jeg arbejder jeg JAVA,JSP,Javascript og har lavet en autosuggest, som kigger i en database hvor et AJAX vindue popper op.

Jeg er ikke helt tilfreds med det endnu, da man kan taste også skal bruge musen for at vælge det valgmuligheder der kommer frem. Jeg vil gerne have at man kan bruge piltasterne til at kører ned på den rigtige og trykke enter.

Ved ikke hvad i skal bruge af kode for at hjælpe, men her er js. koden.

function doSuggest(word) {
    if(word.length>3)
    {
    var request=null;
        if (window.XMLHttpRequest) {
            request = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            request = new ActiveXObject("Microsoft.XMLHTTP");
        }
       
          if(request)
          {
              var url="AjaxSuggest.jsp";
              url+="?suggestword="+word;
             
              request.open("POST",url);
              request.onreadystatechange = function()
              {
                if(request.readyState==4){
                      document.getElementById("theResults").innerHTML=request.responseText;
                    document.getElementById("theResults").style.visibility="visible";
                }
          }
         
          request.send(null); 
           
          } else {
                alert("Your browser don't support Ajax!");
          }
         
    } else {
      document.getElementById("theResults").innerHTML="";
      document.getElementById("theResults").style.visibility="hidden";
    }
}
Avatar billede Slettet bruger
07. juli 2010 - 12:18 #1
Hvad med en combobox ~ kombineret taste-felt og select (dropdown)
- sådan et element findes ganske vist ikke i standard HTML, men det kan "fakes"..
Avatar billede andersbl Nybegynder
07. juli 2010 - 14:15 #2
Kan muligvis bruges. Det er vigtig at der tages højde for at siden er delt op i frames. Derfor ryger javascript væk under framet og derfor er Ajax den eneste mulighed jeg har fundet frem til.
Avatar billede Slettet bruger
08. juli 2010 - 10:32 #3
Så skal Ajax-svaret "bare" hælde de returnerede værdier ind som <option>s på <select> feltet...

Og du skal stadig håndtere keyboard-pilop/ned for at flytte fokus imellem de to felter - !skidenemt.
- men det er en gammel "dyb tallerken" som Google bør kunne finde frem til dig : )
Avatar billede andersbl Nybegynder
29. juli 2010 - 15:48 #4
Jeg har selv fundet en løsning, men syntes du fortjener point for forslaget
Avatar billede Slettet bruger
29. juli 2010 - 22:05 #5
Tak som byder :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester