Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [dojo] problem z wyszukaniem elementu (dziwne)
werek
post 8.07.2010, 09:59:34
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 24.04.2007
Skąd: wwa

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


Mam dosyć specyficzny problem, ale moze rozpoczne najpierw od kodu. ponizej znajduje sie moja deklaracja klasy javascript do cyklicznego wywolywania wysylki kolejnej porcji newsletter'a (gro logiki po stronie serwera):

  1. dojo.require("dojox.timing._base");
  2. /*
  3. klasa js do obslugi procesu wysylania maili
  4. */
  5. function jobProcess (/* string */ link, /* htmlelement id*/button) {
  6. this.link=link;
  7. this.buttonID=button;
  8. this.pbh=null;
  9. this.timer= null;
  10. this.load= function (response,ioArgs){
  11. dojo.byId('result_send_count').innerHTML=response.sent_count;
  12. dojo.byId('result_send_total').innerHTML=response.total;
  13. dojo.byId('result_send_adresy').innerHTML=response.adresy;
  14. dojo.byId('result_progressbar').style.width=response.percentage + '%';
  15. dojo.byId('result_progressbar').innerHTML=response.percentage + '%';
  16. dojo.byId('wrapper_wysylki').style.display='block';
  17. }
  18. this.start= function (){
  19. if (this.timer == null){
  20. this.timer=new dojox.timing.Timer();
  21. this.timer.onTick=function(){
  22. dojo.xhrPost( {
  23. url: this.link,
  24. handleAs: "json",
  25. load: this.load
  26. });
  27. }
  28. }
  29. this.timer.start();
  30. dojo.byId(this.buttonID).value='Zatrzymaj';
  31. dojo.byId(this.buttonID).onclick=this.stop;
  32. }
  33. this.stop= function (){
  34. this.timer.stop();
  35. dojo.byId(this.buttonID).value='Wznów';
  36. dojo.byId(this.buttonID).onclick=this.start;
  37. }
  38. dojo.byId(this.buttonID).onclick=this.start;
  39. }


wywoluje co okreslony czas url ktory procesuje porcje adresow i zwraca co wyslal i jaki jest aktualny stan zeby uaktualnic interfejs. dojo jednak wywala mi sie na linii
  1. dojo.byId(this.buttonID).value='Zatrzymaj';


w momencie klikniecia na button aby uruchomic akcje, wywalajac komunikat bledu "this.buttonID is Undefined". klase inicjalizuje za pomoca wpisu:

  1. <script language="javascript">
  2. dojo.addOnLoad(function(){
  3. var wysylka_newsletter= new jobProcess('/newsletter/admin/processjob/id/2','wysylka');
  4. });
  5. </script>


ktory znajduje sie w kodzie wygenerowanej strony zaraz po definicji button'a. bylbym wdzieczny za pomoc, stawiam dopiero pierwsze kroki w oop javascript i nie znam niuansow które pewnie znaja osoby przegladajace to forum.

Pozdrawiam
Go to the top of the page
+Quote Post
chomiczek
post 21.09.2010, 07:22:54
Post #2





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

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


a czy nie proście zrobić tak:
- pytasz bazę o np. 50 kolejnych rekordów;
- wysyłasz im newsletter;
- zapisujesz ID ostatniego rekordy;
- jak wyślesz już 50 newsletterów dajesz w kodzie <meta http-equiv="refresh" content="1;url=http://twojastrona.pl/twojskrypt.php?startujOD=zapamietanyIDostatniegoRekordu">
- po wysłaniu masz samoczynne przeładowanie i zaczyna wykonywać się to samo, ale już staruje nie od pierwszego rekordu, ale od tego, który jest określony w ID


--------------------
created by chomiczek
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 09:44