Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jquery ui.tabs + komunikat 'loading' - problem
Forum PHP.pl > Forum > Po stronie przeglądarki
yankes
Witam smile.gif

Może ktoś będzie znał odpowiedź/rozwiązanie/podpowiedź jak rozwiązać taki problem

Mam formularz podzielony na kilka tabów - podczas przechodzenia z na kolejny krok - obecny jest walidowany

  1. $(function() {
  2. $("#box_menu_steps").tabs({
  3. select: function(event, ui){
  4. var status =false;
  5.  
  6. status = validate( ui.panel.id, $('#form_steps') );
  7. .
  8. .
  9. .
  10. return status;
  11. }
  12. });



  1. function validateStep( step, form )
  2. {
  3. var data_form = form.serialize();
  4. var status = true;
  5.  
  6. $.ajax({
  7. type: "POST",
  8. url: "ajax.php",
  9. data: data_form+"&step="+step,
  10. async: false,
  11. beforeSend: function()
  12. {
  13. $('#loader').css('display', 'block');
  14. },
  15. .
  16. .
  17. .
  18. });
  19. return status;
  20. }


w FF działa idealnie - po kliknięciu na kolejny krok pojawia się w box z informacją, że trwa walidacja formularza, po czym pojawią się ewentualne komunikaty o błędach i jest oki .. natomiast w IE skrypt pracuje po czym zwraca jednoczesnie komunikaty o błędach i pokazuje box z informacją o walidacji.... dopiero jak w kodzie

  1. beforeSend: function()
  2. {
  3. $('#loader').css('display', 'block');
  4. dodam: alert('test');
  5. },


to skrypt pod IE pokazuje komunikat o ładowaniu ( + alert wyskakujac ) i nastepnie komunikaty walidacji....
erix
Rzuć gdzieś podobny kod w akcji. W której wersji IE się sypie?
yankes
Kod wrzucę wieczorem - brak dostępu - a sypie się w IE
erix
Cytat
W której wersji IE się sypie?
yankes
sorry... pospiech w pracy szkodzi ;] chodzi o wersje IE 7, 6 ;]

jakim innym poleceniem można zatrzymać skrypt tak aby wykonał część kodu poczekał na zwrotkę TRUE i dalej się wykonywał - idealnie robi to polecenie ALERT ale nie będę nękał uzytkownika co chwile alertami
erix
Zrób coś w stylu setInterval, co będzie sprawdzało daną zmienną, jeśli false - nic nie zrobi, jeśli true - wykona funkcję zakończenia.

Tylko nie rób czegoś w stylu:
Kod
while(!warunek){}

bo zawiesisz przeglądarkę. tongue.gif

Poza tym, zawsze możesz zmienić synchroniczność żądania.
yankes
setInterval - to nie to while tak samo nie smile.gif obszedlem to robia cos takiego

$('#loading').show( function() { ladujLoaderaAleJuz(); } );

guitar.gif

zce..... smile.gif już niedługo tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.