Ik wil met ajax mijn eigen upload handler maken, maar ik stuitte op een raar en vervelend probleem.
Ik heb een simpel formpje:
Het staat hier niet maar de ajax file wordt ingeladen en ajax aangeroepen, dat werkt prima.
Ik submit hiermee dus test.php naar een iframe, direct wordt xajax_upload_progress() aangeroepen.
Test.php bestaat alleen maar hieruit:
De ajax functie:
Werkt goed, ik klik en de functie wordt aangeroepen, want de SPAN upload_test veranderd, MAAR deze veranderd maar 1 malig. Pas als de 2 seconde voorbij zijn en mijn iFrame geeft de output, dan gaat het ajax script verder.
Maar dat is niet de bedoeling, ik wil dus terwijl het script loopt met ajax gaan pollen, maar wel tegelijk.
Zit er een foutje of houd ik ergens geen rekening mee?
Ik heb een simpel formpje:
code:
1
2
3
4
5
6
7
8
| <form action="test.php" method="post" enctype="multipart/form-data" name="upload_form" target="uploadframe" onsubmit="xajax_upload_progress();return true;"> <input type="hidden" name="task" value="upload"> <input type="file" name="videofile"><br /> <input type="submit" name="submit" value="submit"> </form> <br> <span id="upload_progress">TEST</span><br> <iframe id="uploadframe" name="uploadframe"> |
Het staat hier niet maar de ajax file wordt ingeladen en ajax aangeroepen, dat werkt prima.
Ik submit hiermee dus test.php naar een iframe, direct wordt xajax_upload_progress() aangeroepen.
Test.php bestaat alleen maar hieruit:
code:
1
2
| sleep(2); echo"Klaar!"; |
De ajax functie:
code:
1
2
3
4
5
6
7
8
9
10
11
| $xajax = new xajax(); $xajax->registerFunction("upload_progress"); function upload_progress() { $objResponse = new xajaxResponse(); $objResponse->addAssign('upload_progress','innerHTML', rand(0,1000)); $objResponse->addScript("xajax_upload_progress();"); return $objResponse; } $xajax->processRequests(); |
Werkt goed, ik klik en de functie wordt aangeroepen, want de SPAN upload_test veranderd, MAAR deze veranderd maar 1 malig. Pas als de 2 seconde voorbij zijn en mijn iFrame geeft de output, dan gaat het ajax script verder.
Maar dat is niet de bedoeling, ik wil dus terwijl het script loopt met ajax gaan pollen, maar wel tegelijk.
Zit er een foutje of houd ik ergens geen rekening mee?