Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] złe działanie onclick na tworzonej ikonce
Forum PHP.pl > Forum > Przedszkole
Max Damage
Cześć, próbuje napisać skrypt, który stworzy mi pasek wraz z ikonami i doda do nich zdarzenie onclick. Nie jestem zbyt dobry w javascript ale na początek napisałem sobie coś takiego:
[JAVASCRIPT] pobierz, plaintext
  1. <body>
  2. <div id="komentarz">
  3. <div id="f_komentarz">
  4. <form method="post" action="przegladaj.php?k=komentarz" name="formularz">
  5. Autor: <input name="autor" /><br />
  6. <textarea name="komentarz" id="komentarz_textarea"></textarea><br />
  7. <input type="hidden" name="id_samochod" value="{$samochod[0].id}" />
  8. <input type="submit" value="Dodaj komentarz" />
  9. </form>
  10. </div>
  11. </div>
  12.  
  13. <script language="javascript">
  14. function put(pole,start,koniec){
  15. element = document.getElementById(pole);
  16. element.value +=start + koniec;
  17. element.focus();
  18.  
  19. }
  20.  
  21. var pole_komentarz=document.getElementById("komentarz");
  22. //TWORZENIE RAMKI
  23. var ramka=document.createElement("div");
  24. ramka.setAttribute("id","komentarz_ramka");
  25.  
  26. //TWORZENIE OBRAZKA BOLD
  27. var pogrubienie=document.createElement("img");
  28. pogrubienie.setAttribute("src","bbcode/bold.png");
  29. pogrubienie.addEventListener("click",put("komentarz_textarea",'',''));
  30.  
  31. //DODANIE RAMKI DO STRONY
  32. ramka.appendChild(pogrubienie);
  33. pole_komentarz.insertBefore(ramka,document.getElementById("f_komentarz"));
  34.  
  35. </script>
  36. </body>
[JAVASCRIPT] pobierz, plaintext

Niby ok, bo tworzy pasek z ikonką, tylko że w textarea są już wstawione tagi b /b, a zdarzenie onclick na ikonce nie działa. Na dodatek muszę ten blok kodu z javascrpitem wstawiać na końcu, jak jest wcześniej to wywala błąd. Co jest nie tak i jak to naprawić?
paw-e-l
co prawda nie używam czystego js tylko jquery ale wydaje mi się że to powinno być tak
[JAVASCRIPT] pobierz, plaintext
  1. pogrubienie.addEventListener("click", function(){ put("komentarz_textarea",'',''); });
[JAVASCRIPT] pobierz, plaintext
Max Damage
Racja, trzeba do tego jeszcze dodać ostatni parametr i działa:
[JAVASCRIPT] pobierz, plaintext
  1. pogrubienie.addEventListener("click",function() { put("komentarz_textarea",'','') },false);
[JAVASCRIPT] pobierz, plaintext

Dzięki.
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.