Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Zatrzymać pętle aby dokończył funkcję
ewelinac18
post
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 11.07.2007

Ostrzeżenie: (0%)
-----


Witam w jaki sposób można zatrzymać pętle tak aby najpierw ukończyła jedną funkcję a potem wzięła się za następną a nie wszystkie naraz ?

  1. function klik(){
  2. for (var x = 0;x <= parseInt($("#upload_sum").val()); x++) {
  3. if($("#upload_file_"+x).val() != '') {
  4.  
  5.  
  6. ajaxFileUpload($("#upload_foto_"+x).val(),x); <- ukończ tą funkcję a potem może dalej ruszać
  7.  
  8.  
  9. }
  10.  
  11. }
  12.  
  13. return false;
  14. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Żądanie (AJAX) wysyłasz asynchronicznie, czyli po wywołaniu funkcji nie czeka się na zakończenie jej działania. Nie znamy jej kodu więc wiele powiedzieć się nie da, co najwyżej:

1. Funkcja ta powinna odpalać jakiegoś callbacka, po wykonaniu żądania
2. W callbacku tym, powinieneś ponownie odpalić fragment wysyłający żądanie - tym razem dla następnego elementu - i tak w kółko.

Innymi słowy: najprawdopodobniej będziesz musiał zrezygnować z pętli. Może to wyglądać jakoś tak:
[JAVASCRIPT] pobierz, plaintext
  1. function doSth(id) {
  2. if (id == 0) {
  3. return;
  4. }
  5.  
  6. ajaxFileUpload($("..." + id), function() {
  7. // callback
  8. doSth(id - 1);
  9. });
  10. };
  11.  
  12. doSth(pasrseInt($("...").val()));
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 21:17