hej,

mam taki skrypt

  1. function fileValidation(value, el){
  2.  
  3. $.each($(el).data('settings').ajaxRequests, function(i, validator){
  4.  
  5. var v;
  6. if(validator.values){
  7. if(typeof validator.values == 'function')
  8. v = validator.values();
  9. }
  10.  
  11. var values = v || {value: value};
  12.  
  13. handleLoading(el, validator);
  14.  
  15.  
  16. $.post(validator.url, values,
  17. function(data, textStatus){
  18.  
  19. if(data.valid) {
  20. $(el).data('valids')[$(el).data('valids').length] = data.message || validator.validmessage || "";
  21. } else {
  22. $(el).data('errors')[$(el).data('errors').length] = data.message || validator.errormessage || "";
  23. }
  24. if($(el).data('errors').length > 0)
  25. onEvent(el,'error',false);
  26. else {
  27. onEvent(el,'valid',true);
  28. }
  29. }, "json");
  30. });
  31.  
  32. };


problem w tym, że jak jak szybko wywołam ten kawałek kodu (wywołuje cię co kilka sekund) to pokazuję to samo (wynik jest ten sam) dla tej samej zmiennej np :"test"

chciałbym by było tak:

1. pierwsze uruchomienie dla value=test jest OK
2. to samo dla słowa test i już mamy komunika ze ostatnie wywołanie dotyczy tego samego słowa co ostatnio... Czyli przyjmie wszystkie tylko nie "test" można dać "test2" i potem jest ok potem znowu "test"

to takie zabezpieczenie żeby nie wywoływać $.post dla tego samego value (bo przecież wynik będzie ten sam)


czyli zaraz po wywolaniu $.post tworzymy zmienna globalną przy następnych sprawdzamy tę globalną z tym co value jak to samo to nie pozwalamy jak inne to pozwalamy..