Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] blokowanie przycisku, zmiana koloru inputa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
gebp
Dopiero zaczynam w js. Opisze sytuacje. Funkcja (poniżej służy do walidacji danych. Dane sprawdzam w pliku php. Sprawdzam odpowiedź (pobraną AJAX'em, wykorzystuje mintAJAX). W zależności od odpowiedzi zmieniam kolor danego inputa i blokuje przycisk wysyłania.
  1. var spr= new Array()
  2.  
  3. function wery(input,tar,div,su,index) // poprawność danych (id inputa, plik sprawdzający, div do odp, nazwa formularza z inputem do odblokowania,index )
  4. {var blokowac;
  5. var req = mint.Request();
  6. req.method = "post";
  7. req.AddParam(input, $(input).value);
  8. req.OnSuccess = function () { if( req.responseText!='OK')
  9. {spr[index]=1;} // ukrycie'
  10. else
  11. { spr[index]=0;} //pokazanie
  12. for (var i=0;i<spr.length;i++)
  13. { if(spr[i]=='1')
  14. { document.getElementById(input).style.backgroundColor= '#ff0000';
  15. blokowac=1; } // czyli zablokowany
  16. else {document.getElementById(input).style.backgroundColor= '#ffffff';}
  17. }
  18. }
  19. req.Send(tar,div);
  20. //alert("blokowac=" + blokowac);
  21. if(blokowac=='1')
  22. {document.getElementById(su).submit.disabled = true;}
  23. else
  24. {document.getElementById(su).submit.disabled = false; }
  25. }

I przykładowy formularz
  1. <form id="pop" method="post">
  2. <input id="imie" type="text" size="3" name="imie" value=<?php echo $imie; ?> onchange="wery('imie','sprz/w.php','od','pop','1')">
  3. ...
  4. <input id="nrtel" type="text" size="3" name="nrtel" value=<?php echo $nrtel; ?> onchange="wery('nrtel','sprz/w.php','od','pop','15')">
  5. <input id="submit" name="submit" disabled="true" type="submit" value="ZAPISZ">
  6. </form>

I problem (którego nie mogę zrozumieć)
W listingu funkcji jest w komentarzu alert (//alert("blokowac=" + blokowac); ). Jeżeli jest on włączony (tzn. nie jest jako komentarz) to skrypt ładnie w zależności od response blokuje i zmienia kolor inputa (no i oczywiście pokazuje mi się alert. Jeżeli go wylącze (wezmę w komentarz) to wszystko bierze w łeb.
Dlaczego?
ferr
A daj req.Send(tar,div); na koniec skryptu?
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.