Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery] głosowanie
istrd
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

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


Witam.
Mam taki problem mam skrypt głosowania, napisany w jquery jednak coś jest zle ponieważ źle liczą się kliknięcia. Po pierwszym kliknięciu nie zwraca wyniku (ale wykonuje alert "dzięki za głos" po drugim kliknięciu jest już dobrze wyswietla 2 pozniej za trzecim jest 5 dalej za czwartym 9 a dalej to jak popadnie. PHP działa prawidłowo bo wykonując to po za skryptem podając w przeglądarce np. glosuj.php?glos=pozytywny&id=10 wszystko liczy dobrze.

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
  2. <script type="text/javascript">
  3. {literal}
  4. function GlosPozytywny(id)
  5. {
  6. alert("Dzięki za głos na id :"+id+"");
  7. $('.glos_pozytywny').click(
  8. function()
  9. {
  10.  
  11. $.getJSON('glosuj.php',{"glos":("pozytywny"),"id":id},
  12. function(data)
  13. {
  14. $(".wynik").html("Aktualny wynik glosowania to:"+data[0].Dane);
  15.  
  16. });
  17.  
  18. }
  19. );
  20. }
  21. function GlosNegatywny(id)
  22. {
  23. alert("Dzięki za głos na id :"+id+"");
  24. $(".glos_negatywny").click(
  25. function()
  26. {
  27.  
  28. $.getJSON('glosuj.php', {"glos":("negatywny"),"id":(id)},
  29. function(data)
  30. {
  31. $(".wynik").html("Aktualny wynik glosowania to:"+data[0].Dane);
  32. });
  33.  
  34. }
  35. );
  36. }
  37. {/literal}
  38. </script>
  39. <input type="submit" name="glos_pozytywny" value="+" class="glos_pozytywny" OnClick="GlosPozytywny({$dane.id});">
  40.  


Ten post edytował istrd 19.05.2011, 21:15:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


wywal to:
Kod
$(".glos_negatywny").click(


Ogólnie co Ty teraz robisz to:
1. User klika w głos, aktywuje się funkcja która przypisuje zdarzenie dla tyc elemetów z danym ID.
2. User klika znowu, znowu przypisujesz zdarzenie, wykonuje się pierwsze zdarzenia i jak klika znów to wykonują się 2 zdarzenia itd ... .

Wywal przypisywanie $().click lub zrób to przez element.click, bo najwidoczniej nie rozumiesz koncepcji jak to działa.


--------------------
Go to the top of the page
+Quote Post
everth
post
Post #3





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Masz wielokrotny bind do kliknięcia. Usuń z twoich funkcji bindowanie jQuery ( czyli tutaj linia 7 i 24) a zostaw samo wykonanie ajaxa.

@UP
Spóźniony.

Ten post edytował everth 19.05.2011, 22:01:29


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
istrd
post
Post #4





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

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


Dzięki za pomoc. Słabo znam Jquery i JS ale juz rozumiem w czym był problem.
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 Aktualny czas: 19.08.2025 - 22:08