Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] textarea po kliknięciu
Forum PHP.pl > Forum > Przedszkole
tenloginjestzajety
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>
trueblue
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.
bostaf
Jak dla mnie to działa - klikam "odpowiedz na post X" i pojawia się pole tekstowe "odpowiadam na post X"...
tenloginjestzajety
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>
viking
Bo cały czas wywołujesz klika ze spana. Nie możesz tego form poza span wyrzucić?
tenloginjestzajety
nie wiem jak to zrobić, pół nocy nad tym siedziałem..
nospor
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'));
viking
$('#odpform').insertAfter($(this));
bostaf
...i wisienkę na torcie:
$("#odptext").focus();
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.