Autor | Zpráva | ||
---|---|---|---|
alan113 Profil * |
#1 · Zasláno: 20. 8. 2012, 23:13:37
Zdravím,
učím se ajax asi cca týden. našel jsem si kod,a následně upravil(trochu upravil:D) který vlastně odečítá čas,(na tomto příkladu se učím) pochopil jsem ho si myslím dobře.. ale chci se zeptat,jak udělat aby po uplynutí času poslal něco do db?třeba že aby se id času změnil z 1 na 0? <script type="text/javascript"> /* <![CDATA[ */ var inputActivate = document.getElementsByTagName('input')[0], questtext = document.getElementById('question') textss = document.getElementById('texts') countdown = document.getElementById('countdown'); function countDownFunc() { var time = countdown.innerHTML.split(':'); if(time.length !== 2) { time = ['1', '01']; } time[0] = parseInt(time[0], 10); time[1] = parseInt(time[1], 10) - 1; if(time[1] < 0) { time[0] = time[0] - 1; time[1] = 59; } else if(time[1] < 10) { time[1] = '0' + time[1].toString(); } if(time[0] <= 0 && time[1] <= 0) { countdown.innerHTML = 'čas vypršel'; clearInterval(arguments.callee.timeId); } else if(time[0] < 10) { time[0] = '0' + time[0].toString(); countdown.innerHTML = time.join(':'); } else { countdown.innerHTML = time.join(':'); } } inputActivate.onclick = function() { countDownFunc.timeId = setInterval(countDownFunc, 999); inputActivate.hidden = 'hidden'; inputActivate.onclick = function() { clearInterval(countDownFunc.timeId); } } /* ]]> */ </script> podle návodu,stačilo by pak pod scriptem udělat vlastně <? $countdown=mysql_query("UPDATE clanky SET....? ?> pak se chci ještě zepat,jestli by se dal udělat v ajaxu třeba jak se odpočítává čas,tak že by byl jakoby taková lišta,a podle času by se ta lišta posouvala na max pozici.. nevím jak bych to ještě vysvětlil...takovej jakoby status něco jako je tohle.. http://imgshack.cz/?di=413454970243 byl by prostě jeden základní obrázek,kterej by označoval ohraničení a pak jeden kterej by se posouval,nevím jak to v ajaxu je...doufám že to pochopíte,a poradíte mě a trochu poučíte děkuji :) |
||
Keeehi Profil |
#2 · Zasláno: 21. 8. 2012, 00:49:08
Budeš si muset nastudovat, kede a kdy se provádí javascript a kde a kdy PHP. Po dokončení odpočtu se může změnit údaj v db, že se ajaxem zavolá nový php script a ten tu hodnotu změní.
K druhé otázce - ta zase naopak s ajaxem ni společného nemá. Je to obyčejné měnění nějakých CSS vlastností nějakého prvku na stránce javascriptem. To však není AJAX. Takže zatím si pleteš pojmy a nevíš, kdy se co a kde vykonává. Nejdříve si v tom udělej jasno a pak uvidíš, že to není nic složitého. |
||
peta Profil |
#3 · Zasláno: 21. 8. 2012, 08:12:16
Ten zapis by se dal provest treba takto:
<style>#a {display:none;}</style> <div id=a></div> <script>document.getElementById('a').innerHTML = '<iframe src=zapis.php?id=4></iframe>';</script> Posun: Jednoduchá animace javascriptem Forum se jmenuje javascript. Ajax je jen oblast z javascriptu, ktera resi prenos dat. |
||
alan113 Profil * |
#4 · Zasláno: 21. 8. 2012, 14:33:22
peta:
aha,a ale ještě jsem nepochopil jednu věc,a to,jak udělat že bych vlastně jakoby četl z databáze a pak s ní pracoval v tom scriptu? prostě že bych si v db dal třeba čas 40sec,a chtěl ho dosadit místo těch 59 napadlo mě že bych to dal do divu/inputu,ale jak ho pak přečtu? element get má za ukol jen vkládat do toho divu nějakou akci ne?get přeci nečtě ale vkládá..jak je abych to četl? doufám že jsi mě pochopil.. jinač,ten script s iframe nefunguje |
||
peta Profil |
alan113:
Viz status v procentech Samozrejme tim iframe (jeden ze zpusobu ajaxu) by to slo tez. Proste v nem spustis javascript, ktery to prenese do hlavniho okna. U ajaxu mas ale omezeni bezpecnosti, ktere nedovoli pouzivat stranku z jineho serveru. Ale predpokladam, ze vsechno mas na jednom miste, tak v tom problem nebude. --- a.htm --- <div id=b>prazdny</div> <iframe src=b.htm></iframe> <script>window.top.document.getElementById('b').innerHTML = '12345';</script> Strejda google ti najde spoustu prikladu na pouzivanejsi XmlHttpRequest. Nebo teticka wikipedie: http://en.wikipedia.org/wiki/XMLHttpRequest |
||
Časová prodleva: 12 let
|
0