Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] dodanie elementu po kliknięciu w DIV, Edycja tekstu
Bejkrools
post 23.09.2014, 16:44:12
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 15.11.2012

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


Witam, chciałbym, aby po kliknięciu w DIV (w którym jest jednowierszowy string ze zmiennej $text) funkcja odczytała ID tego DIV, wstawiła do niego input type="text" i nadała mu odpowiedni name.
Problem w tym, że nie potrafię pokonać bariery, która jest wstawienie inputa do tego DIV. Próbowałem tak:

  1.  
  2. <script type="text/javascript">
  3. function editComment(clicked_id)
  4. {
  5. var input = document.createElement("input");
  6. input.type = "text";
  7. input.name = "edit" + clicked_id;
  8. container.appendChild(input);
  9. }
  10. </script>
  11.  
  12. [...]
  13.  
  14. <?php
  15. echo "<div id='$id_divt' class='content' onClick=\"editContent(this.id)\">
  16. $comment
  17. </div>";
  18. ?>


Ale nie działa, jak dodam wyżej alert(clicked_id) to okienko poazuje właściwe dane, ale samo dodawanie elementu nie działa.
Go to the top of the page
+Quote Post
nospor
post 23.09.2014, 17:12:01
Post #2





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




container.appendChild(input);

Nigdzie nie widze, bys gdziekolwiek ustawiał ten container


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

"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
Bejkrools
post 23.09.2014, 17:47:48
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 15.11.2012

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


Masz rację. I za cholerę nie wiem jak go zdefiniować.

Inaczej mówiąc nie wiem jak z

  1. <div id='1' onclick='edit()'>
  2. Tekst
  3. </div>


obsługując zdarzenie onclick zrobić

  1. <div id='1'>
  2. <form action='#' method=post>
  3. <input type='text' name='1' value='Tekst'>
  4. </form>
  5. </div>


Ten post edytował Bejkrools 23.09.2014, 17:48:36
Go to the top of the page
+Quote Post
kamil4u
post 23.09.2014, 21:52:32
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Resztę sam robisz wink.gif
Kod
<script type="text/javascript">
function editContent( el ){
var input = document.createElement("input");
input.type = "text";
input.name = "edit" + el.id;
input.value= el.innerHTML;

el.parentNode.replaceChild( input, el);
}
</script>

<div id='test' class='content' onClick="editContent(this);">
Magiczny tekst;)
</div>


--------------------
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: 25.07.2025 - 07:54