Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pozycja kursora w tekście
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
cadavre
Nie wiem jak rozwiązać taki problem: mam sobie dwa pola input type=text - jeden nazwany before, drugi after. Do obu dodane mam atrybuty:
  1. onkeyup="document.getElementById('fileDiv').innerHTML = this.value"

Jak widać - tekst wpisany w input innerHTML'uje do DIVa fileDiv.
Problem polega na tym, że chcę aby w DIVie na stałe wpisany był kod:
  1. <a href="asa">Txt</a>
i aby tekst wpisany onlive w dwa inputy dodawany był odpowiednie przed i po powyższym kodzie.

Kwestię dodawania <a href=""> rozwiązałem poprzez:
  1. this.value + '<a href=""></a>'
Mam jednak problem z tekstem wstawianym za. Otóż gdy w onkeyup wpiszę:
  1. onkeyup="document.getElementById('fileDiv').innerHTML += this.value"
+ dodaje mi za każdym razem od początku kod. Jak zrobić by dodawał lub usuwał lub modyfikował tylko literę na której aktualnie "pracujemy"?
mariuszn3
Myślę, że powinieneś aktualizować zawsze cały tekst i używać metod DOM a nie innerHTML.. czyli:
aby wstawić tekst przed element a użyj:
Kod
// zakładam, że do zmiennej a przypisałeś już element a
a.previousSibling.nodeValue = this.value;

a by wstawić tekst za element:
Kod
a.nextSibling.nodeValue = this.value;

Też wcześniej utwórz puste węzły tekstowe przed i po elemencie a, do których powyższy kod będzie wpisywał tekst.
cadavre
Zrobiłem wg. wskazań i działa jak powinno. 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.