Autor | Zpráva | ||
---|---|---|---|
Dedusko Profil |
#1 · Zasláno: 17. 6. 2012, 17:39:53
Dobrý deň,
chcel by som vás požiadať o radu, kde robím chybu. V scripte prijímam XML dáta. Zoznam užívateľov na chate chcem doplniť o link, kedy po kliknutí na užívateľa v zozname skopíruje jeho Username do políčka "txt_message". Dookola mi však kopíruje iba naposledy načítaného užívateľa a neviem si s tým už rady. Ďakujem za každú reakciu. V JS som začiatočník. function nacitajUsers() { if (receiveReq.readyState == 4) { var users_div = document.getElementById('div_users'); var users_xmldoc = receiveReq.responseXML; var users_nodes = users_xmldoc.getElementsByTagName("users"); var users_n_messages = users_nodes.length; users_div.innerHTML = ''; for (ii = 0; ii < users_n_messages; ii++) { var user_node = users_nodes[ii].getElementsByTagName("username"); var userr_fb_id_node = users_nodes[ii].getElementsByTagName("userr_fb_id"); Tu následne generujem Username do zoznamu s odkazom. nickName=user_node[0].firstChild.nodeValue; users_div.innerHTML += '<div class="user"><img src="pic/fb_pic/' + userr_fb_id_node[0].firstChild.nodeValue + '.jpg" width="15" height="15"> ' + '<a href="#" onclick="javascript:userSelect(' + "nickName" + ');return false;">' + nickName + '</a></div>'; Pokračovanie scriptu users_div.scrollTop = users_div.scrollHeight; } users_div.innerHTML += '<hr size="1" noshade><span class="seda" align="center">OnLine: ' + users_n_messages + '</span>'; } } function userSelect(vyberUsera){ vyberUsera=document.getElementById('txt_message').value=vyberUsera + "»"; return vyberUsera; } |
||
Keeehi Profil |
#2 · Zasláno: 17. 6. 2012, 17:44:41
Vynechej uvozovky kolem nickName na 5. řádku stejně jako jsou vynechané na 6. řádku.
|
||
Dedusko Profil |
#3 · Zasláno: 17. 6. 2012, 19:27:17
Keeehi:
Skúsil som to. Script prestal pracovať a vyhadzuje v konzole chybu "Názov užívateľského mena" is not defined. Ak máš chuť si to pozrieť. Link na chat je http://hobobo.tk/, je potrebné mať FB účet, prihlasovanie je cez FB API. |
||
peta Profil |
Dedusko: Tam bych teda vubec nechodil. kdo vi, jestli je to fb api nebo se to jen tak tvari a zapisuje hesla pro fb do databaze :)
nickName = user_node[0].firstChild.nodeValue; users_div.innerHTML += '<div class="user"><img src="pic/fb_pic/' + userr_fb_id_node[0].firstChild.nodeValue + '.jpg" width="15" height="15"> ' + '<a href="#" onclick="javascript:userSelect(' + "nickName" + ');return false;">' + nickName + '</a></div>'; Edit: Ok, tak ta neni sikmo, ale jakymsi bilym pozadim :) |
||
Dedusko Profil |
#5 · Zasláno: 18. 6. 2012, 16:19:47
S tým odchytávaním hesiel to beriem ako kompliment :D
Prepísal som to ako string, ale je to to isté, bez zmeny. Skúšal som to aj s podmienkou a cyklom, kde som zakaždým vyčistil "nickName" ale bez úspechu. Ako keby "innerHTML" pracovalo asynchrónne, nechápem to a už som z toho jeleň :/ |
||
peta Profil |
Tak pouzij prepisovani pomoci replace, kdyz to neumis napsat bez uvozovek.
nickName = 'Dedusko'; str = 'aaa %nick% bbb'; str = str.replace('%nick%',nickName); // hlavne tu nepis "nickName" (s uvozovkami), protoze pak to neobarvi zelene jako promennou, ale cervene jako string alert(str); users_div.innerHTML = str + users_div.innerHTML; |
||
Dedusko Profil |
#7 · Zasláno: 19. 6. 2012, 20:56:44
Aj bez úvodzoviek je to to isté. Vždy do vygenerovaného odkazu vloží ako "nickName" posledného užívateľa v abecednom poradí tak, ako idú z XML dokumentu. Ako "nickName" v tej chvíli vkladám ten istý string do odkazu a zároveň aj do názvu odkazu, takže by mali byť identické, ale nie sú ... nechápem to :/
|
||
Keeehi Profil |
#8 · Zasláno: 19. 6. 2012, 21:02:04
Asi to bude chtít odkaz na živou ukázku.
|
||
Dedusko Profil |
#9 · Zasláno: 19. 6. 2012, 21:03:36
Keeehi:
http://www.3xe.sk/fb_chat/ |
||
Keeehi Profil |
#10 · Zasláno: 19. 6. 2012, 21:37:23
Facebook nemám. (čti: mám, ale nebudu se s ním nikam přihlašovat) Takže nějaká ukázka bez nutného přihlašování by nebyla?
|
||
Dedusko Profil |
#11 · Zasláno: 19. 6. 2012, 21:47:25
Je to zmenené, nevyžaduje to žiadne FB API. http://www.3xe.sk/fb_chat/
|
||
Keeehi Profil |
users_div.innerHTML += '<div class="user"><img src="pic/fb_pic/' + userr_fb_id_node[0].firstChild.nodeValue + '.jpg" width="15" height="15">' + ' - <a href="#" onclick="javascript:userSelect(nickName);return false;">' + nickName + '</a></div>'; users_div.innerHTML += '<div class="user"><img src="pic/fb_pic/' + userr_fb_id_node[0].firstChild.nodeValue + '.jpg" width="15" height="15">' + ' - <a href="#" onclick="javascript:userSelect(\''+nickName+'\');return false;">' + nickName + '</a></div>'; a ještě function userSelect(vyberUsera){ document.getElementById('txt_message').value=vyberUsera + " » "; } |
||
Dedusko Profil |
#13 · Zasláno: 19. 6. 2012, 22:03:56 · Upravil/a: Dedusko
Keeehi:
Ďakujem veľmi pekne. Problém je vyriešný. Vraciam chat naspäť cez FB API. |
||
Časová prodleva: 12 let
|
0