Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]Pobranie ID elementu wywołującego zdarzenie
demolka666
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 28.09.2009

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


Witam,
na samym początku chcę podkreślić, że w sprawach JS jestem kompletną nowicjuszką. Poświęciłam dość sporo czasu szukając rozwiązania (które pewnie jest banalnie proste ;( ) ale nie nie znalazłam.

Otóż moja sytuacja wygląda następująco:

Mam tabele. Każda komórka ma unikalny ID (wygenerowane przez PHP). Po kliknięciu na obszar dowolnej komórki (zdarzenie onclick), pojawia się ukryty dotąd DIV(jeden i ten sam dla każdej komórki).
Potrzebuję wyświetlić (a najlepiej przetransportować jako zmienną PHP) id komórki, która wywołała ten div.

Proszę w swoich wypowiedziach w kwestii JS potraktować mnie jako kompletnie zielonego - gdyż ten język co dopiero poznaję (IMG:style_emoticons/default/smile.gif) .

Ten post edytował demolka666 2.08.2010, 20:14:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


pokaż jak wywołujesz ten "onclick" (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
demolka666
post
Post #3





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 28.09.2009

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


wywołanie onclick:

  1. echo "<tr><td>$time</td><td id=\"$time\" class=\"appointment\" onMouseOver=\"this.style.cursor='pointer'\" onclick=\"make_appointment(this, event)\"></td></tr>";


i funkcja make_appointment:

  1. function make_appointment(id, event){
  2. if (!event) {
  3. var event = window.event;
  4. }
  5. document.getElementById('popup').style.display = 'block';
  6.  
  7. }
  8.  

(wyskakujący div ma id 'popup')
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Jeżeli do funkcji przekazujesz obiekt (this)
to jeżeli chcesz się dowiedzieć jakie ma Id
[JAVASCRIPT] pobierz, plaintext
  1. function make(obj)
  2. {
  3. alert(obj.id);
  4. }
[JAVASCRIPT] pobierz, plaintext

i oto cała filozofia.
Cytat
Poświęciłam dość sporo czasu szukając rozwiązania (które pewnie jest banalnie proste ;( ) ale nie nie znalazłam
to gdzie ty szukałeś że nie znalazłeś rozwiązania.
Go to the top of the page
+Quote Post
demolka666
post
Post #5





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 28.09.2009

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


Największe dzięki!
Szukałam w różnych tutorialach, kursach - nie bardzo wiedziałam jak dobrać słowa kluczowe (IMG:style_emoticons/default/winksmiley.jpg) - jak to bywa u początkujących.

Jeszcze tylko nie wiem jak to przekazać do zmiennej PHP. Będę kombinować, ale jak ktoś ma pomysł, to proszę o wskazówkę (IMG:style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
skowron-line
post
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


PHP -> JS
Kod
var string = <?php echo $variable; ?>


JS -> PHP
Kod
(IMG:style_emoticons/default/questionmark.gif) :) nie da się w prosty sposób
Go to the top of the page
+Quote Post
demolka666
post
Post #7





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 28.09.2009

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


Ponawiam temat (IMG:style_emoticons/default/smile.gif)
Jednak będę potrzebowała to przekazanie z JS do PHP zmiennej.
Jak ktoś ma jakiś sposób to bardzo proszę o pomoc (dobrze by było jeżeli odbyłoby się to bez przeładowania strony, o ile to możliwe).
Go to the top of the page
+Quote Post
thek
post
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Takim w miarę bezbolesnym sposobem jest użycie AJAX. Po kliknięciu wywołujesz AJAXem skrypt, który przetwarza na serwerze te dane i zwraca je w odpowiedniej formie, z którym to wynikiem JS radzi sobie dalej. Dzieje się to bez przeładowania strony.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 13:24