Autor Zpráva
Jack06
Profil
Chtěl bych se optet, jestli někdo víte, jak tento script funguje, popřípadě jestli nevíte jak se dostanou potřebné proměnné z php do takového scriptu...

Mělo by to při zápisu do inputu písmen (např. pis ) a kliknutí na tab vybrat z nějaké proměnné (původně v php) nick, který začíná na "pis" při dalším zmáčknutí tab vybere další v pořadí..

    var user_list = new Array();
    var nc_apt_list = new Array(0);    
    var nc_apt_index = -1;        
    var nc_text = '';        
    var nc_a = '';    
            
            
    function nickComplete(e,nc_a2) {
    if(e.keyCode==8) {return;}
    if(e.keyCode!=9) {
    nickCompleteReset(nc_a2);
    return
    }
    nc_a = nc_a2;
    var text = nc_a.value;
    if (nc_apt_list.length==0) {
    words = text.split(' ');
    if (words.length==0) { return; }
    word  = words[words.length-1].toLowerCase();
    if(!word) { return }for (i in user_list) {p = user_list[i];
    if (p.username.substring(0,word.length).toLowerCase()==word) {
    pushItem(nc_apt_list, p.username);}}
    if(nc_apt_list.length==0) { return; }
    nc_text = text.substring(0,text.length-word.length);}
    e.returnValue=false; 
    nc_apt_index++;
    if (nc_apt_index>nc_apt_list.length-1) {nc_apt_index=0;}
    if (nc_text) {nc_a.value = nc_text+nc_apt_list[nc_apt_index]+' ';
    }else {
    nc_a.value = nc_apt_list[nc_apt_index]+': ';}
    setTimeout("nc_a.focus()",100);}
    
    function nickCompleteReset(nc_a2) {
    if (nc_apt_list.length) {nc_apt_list.length = 0;
    nc_text = '';
    nc_apt_index = -1;}}
panther
Profil
Jack06
Chtěl bych se optet, jestli někdo víte, jak tento script funguje
a co vyzkoušet?
Jack06
Profil
Nevím, jak udělat nějaký takovýto script.. Došel jsem k řádku:
if (p.username.substring(0,word.length).toLowerCase()==word) {

tam mi už script nic neprovede..Potřebuji script, který vybere nick začínající na napsaná písmenka, s tím že když tam bude více tak se načtou postupně při mačkání tabu

// nevím, jak dostat proměnné a jaké do toho, aby to fungovalo
Jack06
Profil
Prosím pomozte
zivan
Profil
Napis sem jednoduchy priklad, co chces udelat. Neni ten kod vykousnuty z vetsiho celku a ty se snazis pouzit jen cast?

Nestacil by select, spravne serazene polozky a mista TAB pouzivat sipku dolu?
Jack06
Profil
zivan


Mám formulář a do něj napíšu například písmenko j , pak mám v databázy mysql uložené jména..
Kdyžzmáčknu tab, potřebuji aby to našlo jméno začínající na to j a když zmáčknu tab znovu aby to našlo další.... Takový cykl.. Při každém zmáčknutí tab aby to našlo další záznam začínající na to co napíšu ve formuláři.... (Pokud nějaký existuje)

Viz pro lepší orientaci na chatech se to používá. Děkuji
zivan
Profil
Zkus si ten select na jednoduchem prikladu, jestli by to bylo ono. Pak nactes jmena z databaze serazene podle abecedy a udelas z nich ten select.
Jack06
Profil
zivan
S javascriptem se zatím učím metodou pokus omyl, proto se ptám na tento script... Nevím v jakém formátu dostat výpis jmen do javascriptu aby se v něm pohyboval..

Nějakej script, kterej dokáže vybrat uživatele už mám, ale ten mi funguje jen když kliknu jednou ale když kliknu znova tak si bere už to nové jméno co se vypsalo..

Nepomohl by jsi prosím moc.?
zivan
Profil
Mas to v databazi a z te to tahas pomoci PHP? Pak muzes pomoci PHP i sestavit ten select.

A pro to popsane fungovani neni potreba javascript.

Podivej se na tenhle priklad, pomoci TAB se dostanes na select a pak muzes vybirat pomoci pismen (v testu zacinaji jmena jen na A, B nebo D) a postup na dalsi jde pomoci opakovaneho stisku prvniho pismene (napr. 2x A) nebo dalsiho pismene v poradi nebo sipek.
Jack06
Profil
zivan
jenže já to jméno potřebuju vytáhnou z mysql (a ta část jména bude v inputu)

Chodíš na nějaké chaty?? Když si v místnosti a píšeš s někým tak stačí do toho kam někomu píšeš napsat třeba ja kliknout na tab a najde to např Jack06 a pak jen napíšeš zprávu... když ti nevyhovuje Jack06 ale chceš dalšího např Jenda, tak klikneš znovu na tab a napíše to Jendu

:-)
zivan
Profil
Zkus znova ten priklad :)
Jack06
Profil
zivan

Ano tam máš pole.. jenže to musíš psát, pak kliknout na pole uživatelů tam vybrat uživatele a pak zase kliknout do pole pro psani.. a to právě nechci.. Potřebuji abych mohl psát v inputu, tam zmáčknou tab když potřebuji uživatele na zadaná písmena a pak psal dál..

Koukni se na třebas na xchat.cz, libimseti.cz atd.. když vstoupíš do chatovací místnosti a zkusíš do pole kde se píše zadat část nicku, kterej v roomce je a zmáčkneš tab tak se vypíše a píšeš dál... nemusíš překlikávat..
:-)

viz ten kod co jsem napsal.. ten javascript.. mohl bych se pokusit dohledat zbytek cástí aby byl celej ten kod.. funkci PushItem atd..

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: