Napisalem taka oto funkcje:
function calculateFreeSpace() { var space; var url = 'index.php?view=homeworks&action=calculateFreeSpace&nocache=' + (new Date()).getTime(); window.httpObj = createXMLHTTPObject(); window.httpObj.open('GET', url , true); window.httpObj.onreadystatechange = function() { if (window.httpObj.readyState == 4 && window.httpObj.responseText) { result = eval('(' + window.httpObj.responseText + ')'); document.getElementById('free_space_number').innerHTML = result.number; document.getElementById('free_space_percent').innerHTML = result.percent + ' %'; space = parseInt(result.percent); } } alert(space); window.httpObj.send(null); for (i=0; i < space ; i++) { id = '_'+0; document.getElementById(id).style.backgroundColor = '#AEA'; } }
wszystko dziala pieknie, pobiera dane, wpisuje w odpowiednie pola, problem w tym ze pobrane dane (tj. result.percent) chce rowniez zapisac do zmiennej 'space' w celu pozniejszego uzycia. Natomiast zmienna space jest tylko widoczna w czesci dotyczacej zapytania, natomiast juz poza nim w alercie dostaje "undefined". Przypuszczam ze to dlatego ze wywoluje funkcje ajaxowa i zmienna nigdzie dalej nie ejst juz widoczna, natomiast nie za bardzo wiem jak to ugryzc. Pozdrawiam