| Autor | Zpráva | ||
|---|---|---|---|
| siginigin Profil * |
#1 · Zasláno: 15. 1. 2010, 09:45:30
dobry den
chcem po kliknuti tlacitka urobit toto: max = GetMAX(); pricom GetMAX() je definovany nejako takto:
function GetMAX(){
var response = '';
... vytvorenie XMLHTTPRequest objektu http
... nastavenie jeho parametrov
http.onreadystatechange = function(){
if(http.readyState == 4){
response = http.responseText;
}
}
http.send();
}chcem teda do premmenej max priradit vysledok funkcie GetMAX(), cize hodnotu response, lenze nejako mi to nefunguje. vdaka za radu. |
||
| t4nn3r Profil |
#2 · Zasláno: 15. 1. 2010, 12:04:24
zde je funkcni AJAX script, req posilas POST, targ je cilovy html prvek, host je cilovy script na serveru.
<script language="javascript" type="text/javascript">
function ziskejformular(req , targ, host)
{
var http_request = false;
if (window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (error)
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
http_request.onreadystatechange = function() { returnValidate(http_request, targ); };
http_request.open('POST', host, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(req);
}
function returnValidate(http_request, targ)
{
if (http_request.readyState == 4)
{
if (http_request.status == 200)
{
document.getElementById(targ).innerHTML=http_request.responseText
}
else
{
document.getElementById(targ).innerHTML="Nastala chyba na serveru."
}
}
else
{
document.getElementById(targ).innerHTML="Zpracovavam data..."
}
}
misto do document.getElementById(targ).innerHTML muzes pridelit vysledek do promenne... |
||
| Chamurappi Profil |
#3 · Zasláno: 15. 1. 2010, 12:31:28
Reaguji na siginigina:
AJAX funguje asynchronně. Viz: • responseText jquery (callback) • JQuery - zapúzdrenie? Reaguji na t4nn3ra: To nijak neřeší to, na co se ptá, ne? |
||
| _es Profil |
#4 · Zasláno: 15. 1. 2010, 12:32:02
siginigin:
Veď ti stačí zrušiť druhý riadok a v siedmom riadku nahradiť response za max. |
||
| siginigin Profil * |
#5 · Zasláno: 15. 1. 2010, 12:45:24
Chamurappi:
samozrejme mas pravdu, len niekde som videl ay to fungovalo synchronne. pravdepodobne ale bude rozumnejsie cele to prepisat tak aby to bolo asynchronne, takze vsetko co je za max = GetMAX() premiestnim do tej callback funkcie. _es: bude stacit, ked to cele prepisem :) vdaka za rady. |
||
|
Časová prodleva: 16 let
|
|||
0