Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] textarea po kliknięciu
tenloginjestzaje...
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witam
Posiadam kod ( https://jsfiddle.net/uqx2htj0/1/ ), który wyświetla textarea w danym divie. Znak $ zastępuje: document.getElementById. Niestety nie działa, dzięki za pomoc

  1. <div class = "post">
  2. treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1treść posta 1<br/>
  3. <span class = "odpowiedz" data-id = "1">odpowiedz na post 1</span>
  4. </div>
  5. <div class = "post">
  6. treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2treść posta 2<br/>
  7. <span class = "odpowiedz" data-id = "2">odpowiedz na post 2</span>
  8. </div>
  9. <div class = "post">
  10. treść posta 3treść posta 3treść posta 3treść posta 3treść posta 3<br/>
  11. <span class = "odpowiedz" data-id = "3">odpowiedz na post 3</span>
  12. </div>
  13. <div id = "odpform">
  14. <form>
  15. <textarea id = "odptext"></textarea><br/>
  16. <input type = "submit"/>
  17. </form>
  18. </div>
  19.  
  20. <script type="text/javascript">
  21. document.getElementById('.odpowiedz').click(function() {
  22. document.getElementById('#odpform').find('#odptext').val('odpowiadam na post ' + document.getElementById(this).data('id'));
  23. document.getElementById(this).append(document.getElementById('#odpform'));
  24. document.getElementById('#odpform').show();
  25. });
  26. </script>


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Nie .odpowiedz, nie #odpform i nie this.
Powinieneś podać id elementu - nazwa funkcji jednoznacznie o tym mówi.

Inna sprawa, że funkcja find i inne, których używasz nie zadziałają, ale skoro ich używasz, to zostaw $. Zdecyduj się albo na jQuery, albo na czysty JS.


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





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Jak dla mnie to działa - klikam "odpowiedz na post X" i pojawia się pole tekstowe "odpowiadam na post X"...
Go to the top of the page
+Quote Post
tenloginjestzaje...
post
Post #4





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Chcę po prostu wstawić form pod buttonem, który klikam. Może jakieś rozwiązanie w JS, dzięki.

prawie wszystko działa, żeby móc pisać muszę trzymać cały czas przycisk myszki..

  1. <script>
  2. $('.odpowiedz'). click(function() {
  3. $('#odpform').find('#odptext').val('');
  4. $('#odpform').find('#idpost').val($(this).data('id'));
  5. $('#odpform').find('#touser').val($(this).data('name'));
  6. $(this).append($('#odpform')); // jak usunę to pisać można, ale formularz nie jest przy buttonie.
  7. $('#odpform').show();
  8. });
  9. </script>


Ten post edytował tenloginjestzajety 10.05.2017, 01:14:24


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Bo cały czas wywołujesz klika ze spana. Nie możesz tego form poza span wyrzucić?


--------------------
Go to the top of the page
+Quote Post
tenloginjestzaje...
post
Post #6





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


nie wiem jak to zrobić, pół nocy nad tym siedziałem..


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dodales zdarzenie onclick dla span w ktorym to zdarzeniu wkladasz do span formularz. Skoro formularz jest w span, to robiac klik na formularz, znowy wywolujesz zdarzenie i tak w kolko...
Formularz ma byc za spanem.

nie:
$(this).append($('#odpform'));

a chociazby:
$(this).parent().append($('#odpform'));


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #8





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


$('#odpform').insertAfter($(this));


--------------------
Go to the top of the page
+Quote Post
bostaf
post
Post #9





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


...i wisienkę na torcie:
$("#odptext").focus();
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: 22.08.2025 - 09:22