Autor | Zpráva | ||
---|---|---|---|
PecanCZ Profil |
Čau, mohl by mi někdo poradit, jestli jde udělat to, že když by člověk klikl na tlačítko, data by se odeslal na server, zapsala do databáze a bez refreshe se zobrazil výsledek? vlastně jde mi o to, že na webu mám hodnocení komentářů pomocí palců nahoru a dolů a přijde mi strašně zbytečné, když člověk klikne na palec a server ho přesměruje a až pak ukáže výsledek.
Díky moc za jakoukoli odpověď :) Moderátor Alphard: Přesunuto z PHP do JS.
|
||
imploder Profil |
#2 · Zasláno: 21. 11. 2010, 19:17:17
PecanCZ:
AJAX |
||
Neas Profil |
#3 · Zasláno: 21. 11. 2010, 19:23:46
Doporučuju pro ajax použít jquery, pokud si pro něj nechceš napsat vlastní funkce. Šetří to čas. Tady návod:
http://citron.blueboard.cz/clanek-337-jquery-pro-zacatecniky-ajax.html |
||
_es Profil |
#4 · Zasláno: 21. 11. 2010, 19:26:28
imploder:
„AJAX“ Ale to bez JS nebude funkčné a to by hodnotenie komentárov asi malo byť. PecanCZ: Môžeš odkaz smerovať do (aj skrytého) iframe a potom prípadne ešte nejako zareagovať pomocou JS.
|
||
PecanCZ Profil |
#5 · Zasláno: 21. 11. 2010, 19:27:59
já mám ve stránce prostě zobrazené čísla, které bych potřeboval aktualizovat, udělám to tedy přes jQuery?
|
||
Radek9 Profil |
#6 · Zasláno: 21. 11. 2010, 19:31:12
PecanCZ:
„udělám to tedy přes jQuery?“ To se nás ptáš? |
||
PecanCZ Profil |
#7 · Zasláno: 21. 11. 2010, 19:32:35
Radek9:
ptám se jestli to pujde přes to udělat :) |
||
_es Profil |
#8 · Zasláno: 21. 11. 2010, 19:37:10
Radek9:
„udělám to tedy přes jQuery?“ Až na to, že ak si jQuery doteraz nepoužíval, tak kvôli takej "prkotine" naťahovať celú JS knižnicu je výrazne neefektívne. |
||
PecanCZ Profil |
#9 · Zasláno: 21. 11. 2010, 19:39:35
_es:
aha, a šlo by to udělat nějak jednodušeji :D přece jen chci aktualizovat dvě čísla z databáze |
||
Radek9 Profil |
#10 · Zasláno: 21. 11. 2010, 19:50:50
PecanCZ:
Ano, šlo, dá se najít samostatná ajaxová funkce. |
||
PecanCZ Profil |
#11 · Zasláno: 21. 11. 2010, 19:52:41
Radek9:
mohl by jsi mi pomoct najít takovou funkci? byl bych ti moc vděčný |
||
Radek9 Profil |
#12 · Zasláno: 21. 11. 2010, 19:54:48
PecanCZ:
Tady máš moji. Umí to get i post + po provedení spustit funkci, nebo zapsat hodnotu do innerHTML nějakého elementu. |
||
PecanCZ Profil |
#13 · Zasláno: 21. 11. 2010, 20:16:41
Radek9:
díky moc :) a mohl bys mě do té tvojí funkce trochu zasvětit? přece jen jsem ještě začáteční a než něco pokazit tak se radši zeptám, díky |
||
Radek9 Profil |
#14 · Zasláno: 21. 11. 2010, 20:38:09
PecanCZ:
ajax("soubor.php?parametr=hodnota", "id_elementu_kam_se_vepise_hodnota");//GET -> innerHTML ajax("soubor.php", function(data){ alert(data); }, {parametr: "hodnota", parametr2: "hodnota2"});//POST -> funkce |
||
PecanCZ Profil |
#15 · Zasláno: 21. 11. 2010, 20:44:00
jo díky, toto už i pro mě srozumitelné, ještě mě ale nedá a musím se zeptat, co mám přesně zapsat místo toho "hodnota" a "hodnota2"
|
||
Radek9 Profil |
#16 · Zasláno: 21. 11. 2010, 20:47:20 · Upravil/a: Radek9
PecanCZ:
Představ si to jako virtuální formulář. Parametr je name a hodnota je value. V PHP to potom vezmeš pomocí $_POST. |
||
PecanCZ Profil |
#17 · Zasláno: 21. 11. 2010, 20:55:14
no...teď jsem se do toho nějak zamotal...díky za pomoc zkusím to nějak vyřešit
|
||
Radek9 Profil |
#18 · Zasláno: 21. 11. 2010, 20:57:44
PecanCZ:
Prostě nějak takto: {jmeno: document.formular.jmeno.value, text: document.formular.text.value} … echo $_POST["jmeno"]." - ".$_POST["text"]; |
||
Chamurappi Profil |
#19 · Zasláno: 21. 11. 2010, 21:15:04
Reaguji na Radka9:
1) Nechápu, proč je pro lidi tak těžké zapamatovat si, aby používali var . Kdykoliv píšu cyklus, tak tam za for ten var cpu, i kdyby byl navíc…
2) Sčítání řetězců po malých částech je pomalé, protože řetězce jsou v paměti konstantní, při přidání jednoho znaku k miliónu se vytváří nový řetězec o délce milión a jeden znak. Efektivnější je spojit pole join em.
3) „ && id!="" “ — proměnnou id tam nikde jinde nemáš.
4) To, co děláš pomocí encodeURI a dodatečného nahrazení ampersandu, dělá nativní encodeURIComponent .
5) Pokud se v názvu parametru vyskytuje nějaký divnější znak, tak ti to musí selhat, protože nejprve escapuješ hodnotu parametru (nalezenou přes původní název) a pak název parametru — přes ten ovšem už tu hodnotu nenajdeš. |
||
Radek9 Profil |
#20 · Zasláno: 21. 11. 2010, 21:22:57 · Upravil/a: Radek9
Chamurappi:
1-4 ještě opravím, je to starší skript a už jsem se v něm moc nehrabal. 5 jsem už opravil jak jsem to tam prvně uploadnul (asi tam máš cache), to mě taky hned bilo do očí. Edit: Aha, tak úplně neopravil. Edit2: Hotovo, snad už to bude bez chyb. |
||
PecanCZ Profil |
#21 · Zasláno: 22. 11. 2010, 15:27:23
toto pro mě asi ještě není...zkusím se v tom nějak porýpat a snad na to časem přijdu...možná jsem totální magor, ale prostě zaboha nemůžu přijít na to co tam mám dosadit do těch funkcí, ale i přesto díky :)
|
||
Časová prodleva: 13 let
|
0