Hejsa, ja jeg har i noget tid ikke lavet noget, men er blevet bedt om at arbejde videre på et gammelt chat-projekt.
Chatten i sig selv virker fint, men jeg er stødt på et problem, da jeg blev bedt om at lave en autocomplete funktion for chatnavnene, der er online i rummet.
F.eks. at man skriver de første 3 bogstaver af et navn, trykker på tab-tasten og så den selv skriver resten. Og hvis man klikker flere gange går den videre til de næste, der matcher, hvis der er flere.
Listen over folk i rummet kan jeg både lægge som array eller i en application, der ligger som ADODB.Recordset med id="online"
Feltet, hvor der skrives: <input type="text" name="message" size="100" maxlength="255">
Tjaa... Men ved ikke helt, hvor mange penge, jeg egentlig vil give for et forholdsvis enkelt script. Ved det kan løses forholdsvist let, hvis man har kendskab til JavaScript (evt. AJAX) eller noget andet, der kan give et script, der løser opgaven :) Problemet ligger i, at få det støvet op... *Gs*
Det behøver ikke være et perfekt fejlfrit script :)
Derfor jeg har valgt ikke at oprette den som betalt opgave :)
I HTML/AJAX-sammenhæng har jeg kun set Google løse det på en brugbar måde - så 'forholdsvis let' er nok en middelsvær overdrivelse. AJAX er kanon simpelt ved første øjekast - men i virkeligheden noget af det, du kan lave i en browser, som kræver størst kunnen. Google's udviklere er stadig nogle af de ganske, ganske få, der kan =)
"Den er jeg nu ikke helt enig i" >> Så er du utvivlsomt en af de utallige, der ikke ved, hvordan AJAX bruges - og hvilke enorme problemer, der er med memory-leaks i IE ved brug af AJAX. Det er dog ikke så mærkeligt, da jeg endnu har til gode at se en brugbar AJAX-tutorial på WWW. Den allerværste og desværre mest anvendte er w3schools.com's totalt misforståede makværk =)
Som man tager det... Men nu ikke meningen vi skulle diskutere, hvorvidt man ville kunne bruge AJAX til det her... Det var et forslag, hvis det kunne hjælpe nogen med at hjælpe mig - ikke et oplag til en debat om AJAX ;p
Indtil videre ser mit script sådan ud, hvis nogen får lyst til at hjælpe med at bygge det videre :) (eller hvis nogen kan fortælle, hvorfor den giver fejl lige nu)
<script type="text/javascript"> <!-- function autocomplete() { if (event.keyCode==18) { var sysNavneliste var sysTekst var sysSamletLinie
skal lige sige, at sysTekst er den tekst brugeren har skrevet før vedkommende trykkede på alt-tasten... sysNavneListe er en liste over brugere, der er online i rummet delt med <[BRAKE]>... navnene deles derefter med <[NAMEBREAK]>, da der er medsendt navn i både uCase og som det skal stå, da det også bruges i et andet script :)
sysAutoNavn skulle gerne blive til det navn, der skal udskrives efter den har fjernet, hvad der måtte være i arrTekst[y] :)
- og det sidste led i et array findes med ARRAY[ARRAY.length-1]: y = arrTekst.length-1
Der er en del andre ting at tage hensyn til: 1) Hvis brugeren skriver: "Bla bla blabla bla Ole B" - og trykker ALT, så bliver det svært at finde "Ole<[NAMEBREAK]>Bole". For ikke at tale om: "Herberth <[NAMEBREAK]>Leopold <[NAMEBREAK]>Maximillian <[NAMEBREAK]>Van <[NAMEBREAK]>Den <[NAMEBREAK]>Schwandvogel <[NAMEBREAK]>III" (- mellemrummene af hensyn til E's overflow i dette tekstområde) ;o)
2) Du forudsætter, cursoren altid står i slutningen af feltet. Er dette tilfældet? Hvis det ikke er, bliver løsnigen betydelig mere kompleks - og ikke X-browser
3) Din løsning virker i IE. Skal den være X-browser?
Synes godt om
Ny brugerNybegynder
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.