Autor | Zpráva | ||
---|---|---|---|
pump Profil * |
#1 · Zasláno: 15. 2. 2011, 18:20:53
Ahoj, chtěl jsem se zeptat, chtěl bych do více tagů přemístit text pomocí javascriptu tak, aby se zobrazoval ve všech. Jsem laik, takže nevím. Moc dík za echo ... :-)
var neco = document.getElementById("ic").innerHTML = "text"; <span id="ic"></span> <span id="ic"></span> <span id="ic"></span> <span id="ic"></span> |
||
Tin Profil |
#2 · Zasláno: 15. 2. 2011, 18:46:26
To má být dotaz? Fajn, beru na vědomí, že bys něco chtěl ;-)
možná bude fungovat to co píšeš (var neco není potřeba), nebo budeš muset mít každé id jiné for(i=0;i<10;i++) document.getElementById("ic"+i).innerHTML = "text"; <span id="ic0"></span> <span id="ic1"></span> <span id="ic2"></span> <span id="ic3"></span> případně existují i další metody getElements (ale nevím jaké, musel bys hledat) |
||
pump Profil * |
#3 · Zasláno: 15. 2. 2011, 18:49:25
Ahoj Tin, odhad máš super .-), ale nějak mi nesedí to i<10, potřeboval bych to při cyklu while u php
|
||
pump Profil * |
#4 · Zasláno: 15. 2. 2011, 18:55:21
Původně:
var i = 5; function opakovani() { i--; document.getElementById("ic").innerHTML="L "+i+"s."; if (i==0) { document.getElementById("ic").innerHTML="<?php echo $text ?>"; i = 5; } } window.setInterval("opakovani()", 1000); |
||
Tori Profil |
#5 · Zasláno: 15. 2. 2011, 19:07:46
pump:
Počet cílových spanů je vždy stejný, anebo se mění? Vkládaný text je vždy stejný nebo se taky mění? Ukažte, prosím, ten cyklus v PHP, kterým generujete JavaScript; bude se dát lépe poradit. |
||
pump Profil * |
#6 · Zasláno: 15. 2. 2011, 19:11:17
while ($vypis = mysqli_fetch_array($sql))
{ $vypis_reg_user .= '<tr onmouseover="highlight_row(this,1);" onmouseout="highlight_row(this,0);"><td>' . $image_log_stav . ' </td><td>' . $vypis['nick'] . $oznameni_o_me . $oznameni_admin . '</td><td> - </td><td><span class="mensi_pismo">' . $vypis_datum_blok . '</span></td><td> - </td><td>' . $vyprsel . '</td><td> ' . $vypis['ip'] . ' </td><td> - </td><td>' . $link_stav_blok . '</td>' . $skupina_jen_organizace_1 . '</tr>'; } |
||
pump Profil * |
#7 · Zasláno: 15. 2. 2011, 19:12:40
No a chtěl bych, aby se měnit třeba tady $vypis_datum_blok
|
||
Tin Profil |
#8 · Zasláno: 15. 2. 2011, 19:26:53
v php:
$i=0; while{ ... echo "span id=ic$i ... i++ } echo "<script> N=$i </script> v js: for(i=0;i<N;i++) ... (za syntaktické chyby neručím) |
||
pump Profil * |
#9 · Zasláno: 15. 2. 2011, 20:06:00
Nejde mi to, snažím se napsat skrypt, který mi bude obnovovat řádky z databáze pomocí js, nic mi nefunguje.
|
||
_es Profil |
#10 · Zasláno: 15. 2. 2011, 20:07:06
pump:
U atribútu id sa ráta s tým, že je pre každý element unikátny, preto metóda document.getElementById vráti len jeden element.
|
||
pump Profil * |
#11 · Zasláno: 15. 2. 2011, 20:11:28
A jak by se dalo napsat u funkce while v php, aby se opakovala po 5 vteřinách? Ale tak, aby se nenačítala celá stránka.
|
||
Witiko Profil |
#12 · Zasláno: 15. 2. 2011, 20:17:04
pump:
Těžko, budeš si muset data načítat z php scriptu z javascriptu technologií zvanou Ajax podle oblíbené americké značky vysavačů. |
||
Tin Profil |
#13 · Zasláno: 15. 2. 2011, 20:17:56
nedalo (pokud se nenaučíš AJAX)
|
||
pump Profil * |
#14 · Zasláno: 15. 2. 2011, 20:18:22
Takže nemůžu donutit js, aby aktualizoval řádky z databáze?
|
||
pump Profil * |
#15 · Zasláno: 15. 2. 2011, 20:20:17
A nějaký skryptík na AJAX by nebyl? .-)
|
||
Witiko Profil |
#16 · Zasláno: 15. 2. 2011, 20:48:19 · Upravil/a: Witiko
pump:
Je to downright triviální, projev schopnosti pravého lovce a přejdi na doménu Google.cz ;-) Ajax je krycí jméno pro objekt XMLHttpRequest, jež umožňuje provádět HTTP požadavky. Takže si pomocí něj vyžádáš php soubor, ten ti navrátí data a s těmi pak naložíš dle svého uvážení (vepíšeš je do řádků). Pokud jsi milovníkem jQuery, prostuduj funkce .get() .post() a .ajax(). |
||
pump Profil * |
#17 · Zasláno: 15. 2. 2011, 20:53:25
Takhle, já chci aby se mi načetl jen ten řádek a stránky aby zůstala nenačtena. Bude to ono?
|
||
amon Profil |
#18 · Zasláno: 15. 2. 2011, 21:15:50
pump:
Daj im všetkým rovnaký atribút class a potom: var spany = document.getElementsByClassName('trieda-spanov'); for(i = 0; i <= spany.length; i++){ spany[i].innerHTML = "text"; } |
||
Tori Profil |
#19 · Zasláno: 15. 2. 2011, 21:22:43
amon:
To nebude fungovat všude. Chtěla jsem pumpovi navrhnout, aby našel všechny potomky té tabulky, kteří budou SPAN a budou mít nějakou definovanou třídu, a obešel by se bez cyklu s ID, ale neumím to bohužel napsat. |
||
amon Profil |
#20 · Zasláno: 15. 2. 2011, 21:42:35
Tori:
„To nebude fungovat všude.“ Kde nie? |
||
_es Profil |
#21 · Zasláno: 15. 2. 2011, 22:04:14
amon:
„Kde nie?“ V prehliadačoch, ktoré metódu getElementsByClassName nepoznajú.
|
||
pump Profil * |
#22 · Zasláno: 15. 2. 2011, 22:04:43
Mi jde hlavně o to, aby jsem byl schopný javascriptem vyvolat cyklus while - $neco = while (.....) {}
Ale dík s tím class, to vypadá dobře... |
||
Segi_L Profil |
#23 · Zasláno: 15. 2. 2011, 22:10:09
Cez jQuery by to vypadalo takto.
$('.trieda-spanov').html("text"); //Zapíše všade kde je trieda "trieda-spanov" Takže už máš na výber z viac možností. |
||
pump Profil * |
#24 · Zasláno: 15. 2. 2011, 22:14:13
Já bych potřeboval spíš, aby místo text byl cyklus while() s sql typu select..., to by vyřešilo všechny problémy. Jinak moc dík za snahu mi něco vysvětlit .-)
|
||
Chamurappi Profil |
#25 · Zasláno: 15. 2. 2011, 22:18:54
Reaguji na Tori:
„ale neumím to bohužel napsat“ Napsal bych to nějak takhle: var table = document.getElementById("ídéčko-tabulky"); for(var i = 0, span; span = table.getElementsByTagName("span")[i]; i++) { if(span.className != "třída-spanů") continue; span.innerHTML = "text"; } Reaguji na amona: Krom toho, že to značné části návštěvníků nebude fungovat, to je zbytečně neefektivní. S každým čtením z length u NodeList u prohlížeč vyhledává všechny vyhovující elementy.
Reaguji na pumpa: „Ale dík s tím class, to vypadá dobře…“ Až na to, že to nefunguje všude. „aby jsem byl schopný javascriptem vyvolat cyklus while - $neco = while (…..) {}“ Cyklus while se píše v JS snad stejně jako skoro kdekoliv jinde…
„aby místo text byl cyklus while() s sql typu select“ Nějak ti nerozumím. SQL dotazy se odehrávají na straně serveru. Zdá se, že možná ani nepotřebuješ cyklus v JS, možná chceš jen vygenerovat haldu javascriptových přiřazení… Reaguji na Segiho_L: Hm, další frameworkový spam. Samozřejmě, že i s frameworkem to jde vyřešit, můžeme tady uvést dvacet různých možností s dvaceti různými frameworky, které pump pravděpodobně nepoužívá, protože kvůli takové prkotině nemá smysl tahat framework. |
||
pump Profil * |
#26 · Zasláno: 15. 2. 2011, 22:26:10
Není to jednoduché protože, aby si vyvolal cyklus while přes php, stačí po něm sáhnout jen jednou, ale je třeba dotaz odeslat přes prohlížeč - pak vypíše všechny řádky z tabulky. Jen bych chtěl požádat o radu, zda js, umí znovu vyvolal akci procházení tabulkou přes while v php.
|
||
pump Profil * |
#27 · Zasláno: 15. 2. 2011, 22:29:44
Něco jako:
$vyhledat = while ($vypis = my....(sql)) { html a php } pak Javascript, který bude volat $vyhledat - tohle mi nefunguje. |
||
_es Profil |
#28 · Zasláno: 16. 2. 2011, 00:27:25
pump:
Pozri si úplné základy, kedy a na akom stroji, ktorý programovací jazyk beží. Toto nemá zmysel. |
||
pump Profil * |
#29 · Zasláno: 16. 2. 2011, 16:41:37
Víš kolik věcí jsem udělal jinak, než se píše v knížce... a fungovaly.
|
||
_es Profil |
#30 · Zasláno: 16. 2. 2011, 20:06:29
pump:
„než se píše v knížce“ Knižky treba aj čítať a aj príspevky radcov. Na základe akého textu v akej knihe sa pýtaš nezmysel: „Javascript, který bude volat $vyhledat - tohle mi nefunguje.“ Viď (znova) [#16]. |
||
Téma pokračuje na další straně.
|
0