Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] dodanie elementu po kliknięciu w DIV
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Bejkrools
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.
nospor
container.appendChild(input);

Nigdzie nie widze, bys gdziekolwiek ustawiał ten container
Bejkrools
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>
kamil4u
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>
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.