Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przesłanie zmiennych do pliku
michal_s
post 11.06.2012, 12:25:40
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Witam. Na swojej stronie chciałbym dopisać możliwość oddawania głosów na materiały tam umieszczone. Tak wyświetlam obrazki do oddawania głosów i ich liczbę (ma to się dziac za pomoca jquery żeby bez odświeżania zmieniała się ilośc głosów):

  1. function punkty() {
  2. $.post('punkty.php', { name: document.form.name.value },
  3. function(output) {
  4. $('#punkty').html(output).show();
  5. });
  6. }


  1. <img src="/plus.png" onclick="get()"/>
  2. <div id="punkty">'.$ocena.'</div>
  3. <img src="/minus.png" onclick="get()"/>


Chciałem wykombinować to jakoś tak, tyle, że teraz nie do końca wiem jak przesłac do pliku punkty.php Id elementu, na który ktoś głosuje i czy głoś był oddawany na + czy - , problemem jest też to, że takich elementów na stronie jest sporo i jak to zrobic, żeby bez tego odświeżania w odpowiednim <div id="punkty"> zmieniała się liczba głosów zaraz po kliknięciu obrazka. Prosiłbym o jakieś pomysły jak to najlepiej rozwiązać i z góry dzięki. Pozdrawiam.

ps. wcześniej przesyłałem na innej stronie to za pomocą forma, dlatego tak jest w function punkty() i dlatego tak jest tutaj chociaz to w tym wypadku głupota i nie wiem czym to zastąpic.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
rocktech.pl
post 11.06.2012, 12:39:55
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Jesteś blisko.

Teraz tylko przejrzy sobie dokumentację i przykłady : .each() , selektory, i post (z naciskiem na słowo kluczowe callback).

Pokaż co uda ci się wysmażyć smile.gif

Ten post edytował rocktech.pl 11.06.2012, 12:40:54


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
michal_s
post 11.06.2012, 13:16:07
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Czytam to i czytam i nie za bardzo rozumiem... ;/ Wiem, że w końcu przydałoby się nauczy to jQuery ale coś średnio mi to idzie.
Ale wymyśliłem, ze możnaby to ID i rodzaj oceny przeslac jakos tak:

  1. <img src="/plus.png" onclick="get(id_do_przeslania,plus)"/>
  2. <div id="punkty">'.$ocena.'</div>
  3. <img src="/minus.png" onclick="get(id_do_przeslania,minus)"/>


  1. function punkty(id_do_przeslania, ocena) {
  2. $.post("punkty.php", { id_do_przeslania: id_do_przeslania, ocena: ocena } );
  3. function(output) {
  4. $('#punkty').html(output).show();
  5. });
  6. }


Tylko, że to nie działa... Co żem zrobł źle?

Ten post edytował michal_s 11.06.2012, 13:19:33
Go to the top of the page
+Quote Post
rocktech.pl
post 11.06.2012, 13:37:48
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


1) id elementu musi być unikalne
2) onclick wywołujesz funkcję get a masz funkcję punkty

Co musisz zrobić :

1) obserwować wszystkie zdarzenia click na elementach o klasie .punkty i następne wywołać metodę post która po sukcesie odwoła się do odpowiedniego elementu.


[JAVASCRIPT] pobierz, plaintext
  1. $('.posty').each(function (el) {
  2. el.click(function(){
  3. // do dzieła :)
  4. });
  5. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował rocktech.pl 11.06.2012, 13:38:26


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
michal_s
post 11.06.2012, 14:46:22
Post #5





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Z tym: 1) id elementu musi być unikalne
to pewnie chodzi ci o to, że w tej linijce
  1. <div id="punkty">'.$ocena.'</div>
id musi by unikalne. I tutaj się właśnie pojawiają schody bo liczba tych rzeczy do oceniania na stronie jest nieograniczona. użytkownik po obejrzeniu jakiegoś elementu klika i bez przeladowania pokazuje mu się kolejny - tutaj liczba była skończona, ograniczona ilością kategorii i rozwiązałem to robiąc tyle funkcji ile kategorii:) A tutaj jest inaczej, nie idzie tak na około tego zrobic.

a co do :
  1. $('.posty').each(function (el) {
  2. el.click(function(){
  3. // do dzieła :)
  4. });
  5. });


zadam głupie pytania, ale lepiej teraz wyjśc na głupka niż zostac nim do końca życia...
W sumie to, gdzie to ma się znajdowac czy co ma zastąpic...?
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: 24.07.2025 - 17:06