Mam problem z jedną funkcją w js, z nieznanego mi powodu funkcja nie zwraca wartości. Oto kod:
var XMLHttpRequestObject_postep = false; if (window.XMLHttpRequest){ XMLHttpRequestObject_postep = new XMLHttpRequest(); } else if (window.ActiveXObject){ XMLHttpRequestObject_postep = new ActiveXObject("Microsoft.XMLHTTP"); } function postep(){ if(XMLHttpRequestObject_postep){ XMLHttpRequestObject_postep.open("GET", "postep.php"); XMLHttpRequestObject_postep.onreadystatechange = function(){ if(XMLHttpRequestObject_postep.readyState==4 && XMLHttpRequestObject_postep.status == 200){ var prog = parseInt(XMLHttpRequestObject_postep.responseText); return prog; } } XMLHttpRequestObject_postep.send(null); } }
Może jeszcze wytłumaczę o co mi chodzi. Piszę progressbar dla swojego skryptu php wysyłającego maile. Przy każdym obrocie pętli zwiększam zmienną sesyjną. Z kolei progresbar który uruchamia się przy starcie skryptu pobiera sobie aktualny postęp za pomocą tej funkcji która tak naprawdę podaje tylko zmienną sesyjną. Czy to dobry sposób myślenia? Zawsze jest możliwość napisać coś takiego przy pomocy flush()...
Skrypt i funkcja uruchamiają się po wysłaniu formularza z mailem w ten sposób:
<input onclick="test();" name="wyslij" style="cursor: pointer;" class="wyslij" type="submit" value="Wyślij" />
Dodam jeszcze że wynik jest zapisany w zmiennej prog. Np. alert(prog); zwraca poprawny wynik
Z góry dzięki za pomoc i wyrozumiałość...