Autor | Zpráva | ||
---|---|---|---|
Pinqui Profil |
#1 · Zasláno: 6. 6. 2009, 14:29:03
takovýto je script:
<script language="javascript" type="text/javascript"> var vystup = null; var room = '<?php print $_GET["rid"] ?>'; var id = ''; function repeat(akce,last) { setTimeout("stahniData('"+akce+"','"+last+"')",10000); id = last; } function stahniData(akce, id) { // odmazeme stary skript, pokud existoval vystup = window.read.document.getElementById('msgBox'); var hlavicka = document.getElementsByTagName('head')[0]; var dataLoader = document.getElementById('scriptLoader'); if(dataLoader) hlavicka.removeChild(dataLoader); // vytvorime novy element script var script = document.createElement('script'); script.id = 'scriptLoader'; script.src = 'javascript-rpc.php?akce='+akce+'&room='+room+'&id='+id+'&r='+Math.ran dom(); // POZOR, DULEZITE!! Skript musime vlozit do stranky pomoci DOM - appendChild() // Ihned po vlozeni prohlizec stahne skript a spusti jej var x = document.getElementsByTagName('head')[0]; x.appendChild(script); return false; } function vypisText(txt) { // nejsnazsi cesta, vlozime novy kod ke staremu na konec vystup.innerHTML = txt+vystup.innerHTML; while(vystup.childNodes[21]) vystup.removeChild(vystup.childNodes[21]); return false; } function chyba(txt) { // obycejny alert s hlaskou alert(txt); return true; } function vymazData() { // v jednoduchem cyklu smazeme vsechny elementy v prvku vystup while(vystup.hasChildNodes()) vystup.removeChild(vystup.childNodes[0]); return false; } </script> a jde mi o pár věcí, zaprvé když mám výběr z mysql textu do funkce vypisText('<span class= "barva" >Honza: Kuba: Ahoj</span><span class= "barva" >Kuba: Honza: Nazdááár</span>'); toto je krátkej příklad, tak jak to udělat když budu chtít smazat pak jen texty co poslal Honza, což znamená že za <span class== "barva">je první jméno toho co psal někomu. z horního scriptu je vidět že se ty texty přičítají pouze k již existujícím, ale nikde jinde kromě js proměnné a mysql neexistují. A druhý dotaz, někdo mi psal že by se to mělo oddělovat například \n. nicméně když to udělám tak mi ta funkce vypisText nefunguje. Můžete mi někdo prosím poradit? děkuji |
||
fuckin Profil * |
#2 · Zasláno: 6. 6. 2009, 14:45:46
prvni otazku nechapu... U druhe otazky ukaz priklad kde je problem..
|
||
Pinqui Profil |
#3 · Zasláno: 6. 6. 2009, 23:15:43
fuckin
Příklad chatu.. píšou si dva lidi Honza: Pepa: Jsi čů*ák Pepa: Honza: Ahoj Honza: Pepa: Ahoj abych nebyl sprostej, tak teď psal sprostá slova což je dejme tomu v místnosti zakázáno, tak ho vyhodím a chci smazat co napsal.. je blbost mazat jen tu jednu větu, takže jak smazat všechno co psal Honza... druhý příklad: $text= ""; mysql(vyber); while(vyberu neco){ $text .= $vyber['text']; } return "vypisText('$text')"; //takto to funguje, ale následovně nee $text= ""; mysql(vyber); while(vyberu neco){ $text .= $vyber['text']."\n"; } return "vypisText('$text')"; |
||
Časová prodleva: 3 dny
|
|||
peta Profil |
#4 · Zasláno: 9. 6. 2009, 11:39:33
Pinqui
Problem je, ze jsi s tim uz nepocital predem. Chyba, ze do JS fora davas PHP kod. Nemame PHP zdroj, takze je to bezcenne cele. Prvni problem je, jak oddelujes radky? Ja treba davam radky do DIV, cimz seznam radku ziskam z oblasti s id=radky radky = document.getElementById('radky').getElementsByTagName('DIV'); alert(radky); v tvem pripade pak jmena ziskas jako nulty span nulteho radku '<span class= "barva" >Honza: Kuba: Ahoj</span>' jmena = radky[0].getElementsByTagName('SPAN')[0].innerHTML; alert(jmena); a pokud muzes zarucit, ze se ve jmenu v zadnem pripade nevyskytne ':', pak prvni jmeno ziskaz jako jmena = (jmena.split(':'))[0]; Cele tohle reseni je pro kocku. Daleko lepsi je, kdyz budes pracovat s polem. radky = [ ['123','Honza','Kuba','text'], ['124','Honza','Kuba','text'], ['125','Honza','Kuba','text'], // id, kdo, komu, text ]; function vypis_radky() {...} alert(radky[0]); nebo radky = [ '123|Honza|Kuba|text', '123|Honza|Kuba|text', '123|Honza|Kuba|text', ]; alert(radky[0]); alert(radky[0].split('|')); ale musis si pohlidat, aby se v textu a ve jmene nahradil znak '|' v textu nahradil odpovidajici entitou, pro @ je to @ (php str_replace) Tohle reseni je lepsi, protoze mas vse uz v poli a jestli chces zobrazit jen radky od honzy, staci filtrovat podle sloupce [1] |
||
Časová prodleva: 4 dny
|
|||
Pinqui Profil |
#5 · Zasláno: 13. 6. 2009, 11:09:26
takže když bych pak vybral texty tak by vypadali nějak takto:
<div id='15'>Kdo: Komu: Text</div> <div id='14'>Kdo: Komu: Text</div> <div id='13'>Kdo: Komu: Text</div> <div id='12'>Kdo: Komu: Text</div> <div id='11'>Kdo: Komu: Text</div> <div id='10'>Kdo: Komu: Text</div> atd..přičemž to bude rozdělený ze 4 polí? // id, kdo, komu, text teď ještě dotaz.? jak to dostanu do takovéhoto pole. Když pracuji s ajaxem |
||
Časová prodleva: 15 let
|
0