Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Powrót do zaznaczonego tkstu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Piro
Witam,

Napisałem funkcję do prostego bbcode:
[JAVASCRIPT] pobierz, plaintext
  1. function wstawb() {
  2.  
  3. var txtarea = document.getElementById("area");
  4.  
  5. var selStart = txtarea.selectionStart;
  6.  
  7. var selEnd = txtarea.selectionEnd;
  8.  
  9. document.getElementById("area").value=
  10.  
  11. (txtarea.value).substring(0,selStart)+
  12.  
  13. ""+(txtarea.value).substring(selStart, selEnd)+"" +
  14.  
  15. (txtarea.value).substring(selEnd,txtarea.value.length);
  16.  
  17. }
[JAVASCRIPT] pobierz, plaintext


Moim problemem jest to że po wywołaniu funkcji gdy treść w polu tekstowym jest większa niż rozmiar pola (pojawia się suwak) suwak zostaje przesunięty do góry. Czy mógłby ktoś powiedzieć dlaczego tak się dzieje?

Pozdrawiam,
Piro
skowron-line
Kursor ustawia się na 1 pozycji questionmark.gif
Piro
Kursor znika
skowron-line
Cytat(Piro @ 19.03.2010, 20:19:28 ) *
Kursor znika

No to wstaw go na koniec tekstu.
kamil4u
Jak zmieniasz vaue textarea tekst automatycznie 'idzie' do góry (traci focus).
Aby to zmienić musisz jak gdyby zaznaczyć pusty tekst od jakiegoś znaku... - reszta w google
Piro
Ustawiłem focus() ale problem pozostał. Kursor w prawdzie jest na dole pola ale suwak nadal pozostaje przesunięty do góry.
skowron-line
Wprawdzie nigdy czegoś takiego nie robiłem no ale można za pomocą JS ustawiać pozycję scrolla w oknie przeglądarki zobacz czy da się to zrobić w textarea.
Piro
Wielkie dzięki za podpowiedź:

[JAVASCRIPT] pobierz, plaintext
  1. txtarea.scrollTop = txtarea.scrollHeight;
[JAVASCRIPT] pobierz, plaintext


Teraz przesuwa tam gdzie trzeba

Pojawił się kolejny problem. Mianowicie po zrobieniu kilku formularzy bbcode na stronie musiałem do funkcji dodać id konkretnego formularza. Działa to na dodawaniu ale nie mam pojęcia jak zrobić aby
[JAVASCRIPT] pobierz, plaintext
  1. document.dodaj_form.tresc.focus();
[JAVASCRIPT] pobierz, plaintext


pozwalało na dodanie zmiennej "id" tz. chodzi mi o coś takiego
[JAVASCRIPT] pobierz, plaintext
  1. document.dodaj_form+id.tresc.focus();
[JAVASCRIPT] pobierz, plaintext
kamil4u
Skoro masz id, to ten element jest unikalny a co za tym idzie odwołaj się do niego poprzez document.getElementById
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.