Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zaznaczenie fragmentu tekstu
Forum PHP.pl > Forum > Po stronie przeglądarki
php programmer
jak mozna zaznaczyc fragment teksu w textarea kub w jakims inpucie
revyag
A po co chcesz automatycznie zaznaczać tekst ?
php programmer
Żeby ułatwić użykownikom edytującym dane zauważenie pewnych słów.
Moze tez byc inny kolor.
revyag
Zaznaczenie kilku słów jest niemożliwe, zauważ że w textarea możesz zaznaczyć tylko ciąg znaków, nie możesz zaznaczyć kilku fragmentów.
Koloru też nie zmienisz, musiałbyś wyświetlać to jako html, a w textarea tego nie zrobisz.
MStaniszczak
Witam

Co się nie da jak się da;-) Ale trochę zabawy z tym będzie, no i będzie działało jedynie pod MSIE i Gecko-podobnymi:

Kod
ramkaif.contentDocument.designMode = 'On'; //na iframie pod gecko
ramkaif.contentDocument.body.contentEditable = true; //pod MSIE


HINT:
http://www.mozilla.org/editor/midas-spec.html
http://msdn.microsoft.com/archive/default....ons/default.asp

Nie jest to łatwe, ale wykonalne, a przy okazji można się sporo dowiedzieć;-)

Pozdrawiam
Marcin Staniszczak
revyag
Wiem że w ten sposób można, ale kolega pytał o textarea i input text, a te elementy w normalnej postaci nie umożliwiają tego snitch.gif
MStaniszczak
Lub textarea. Jednak jest to dość skuteczny sposób, a w JS zawsze można wyłączyć w odpowiedniej chwili inputa i/lub textarea, zastępując go iframe-em. Jak się to dobrze napisze to w starszych przeglądarkach będzie normalny input/textarea, a w nowszych już kolorowy iframe. To nawet nie jest tak naprawdę aż dużo roboty;-) Samo uruchomienie trybu edycji gdy jest to możliwe i umieszczenie w iframe-ie textu to nie będzie nawet 100 linii w JS;-)

Pozdrawiam
Marcin Staniszczak
php programmer
Cytat
ramkaif.contentDocument.designMode = 'On'; //na iframie pod gecko
ramkaif.contentDocument.body.contentEditable = true; //pod MSIE


hm, mam div'a i chciałem go edytować w FF,
no i zrobiłem tak jak w pierwszym linku,
ale mi nie działa, jakie mogą być przyczyny?

  1. <div id="edit">
  2. <p>This text is inside the editable region.</p>
  3. </div>
  4.  
  5. document.getElementById("edit").contentDocument.designMode="on";
nospor
Cytat
hm, mam div'a i chciałem go edytować w FF,
no i zrobiłem tak jak w pierwszym linku,
ale mi nie działa, jakie mogą być przyczyny?

a teraz czytamy na stronce:
Cytat
For example, in JavaScript, if you have an iframe
tongue.gif

pozatym samo designMode="on"; nie wystarcza. to tylko ustawia tryb edycji wlaczony. teraz mozesze robic inne rzeczy opisane na tamtej stronce. ale to musi byc iframe
php programmer
po zmianie na iframe
  1. <iframe id="edit">
  2. This text is inside the editable region.
  3.  
  4.  
  5. document.getElementById("edit").contentDocument.designMode="on";


tez mi nie działa

Cytat
teraz mozesze robic inne rzeczy opisane na tamtej stronce. ale to musi byc iframe


ale ja nie miałem na myśli zmiany z poziomu JS,
tylko to że ten kto ogląda stronę może edytować tekst wewnątrz
(w IE jest taka możliwość)
nospor
przeciez ci wyraznie napisalem:
Cytat
pozatym samo designMode="on"; nie wystarcza. to tylko ustawia tryb edycji wlaczony. teraz mozesze robic inne rzeczy opisane na tamtej stronce.


  1. </head>
  2. <iframe src="jakisplik.html" id="edit"></iframe>
  3. <button onclick="boldd();">bold</button>
  4. <script language="javascript">
  5. function boldd(){
  6. obj = document.getElementById("edit");
  7. obj.contentDocument.designMode="on";
  8. obj.contentDocument.execCommand("Bold", false, null);
  9. }
  10.  
  11. </body>
  12. </html>


w iframe zaznaczas jakis tekst, wciskasz przycisk i ci go pogrubi
php programmer
Cytat
przeciez ci wyraznie napisalem:


ale ja nie miałem na myśli zmiany z poziomu JS,
tylko to że ten kto ogląda stronę może edytować tekst wewnątrz
(w IE jest taka możliwość)

OK coś mi zadziało, THX
nospor
no ale tego co czytalem to tak to dziala. robisz przyciski co maja rozne akcje js i po sprawie.

a najlepiej uzyj fckeditora lub tinymce
php programmer
w twoim przykładzie po kliknięciu,
da się także edytować, więc mam już jakiś punkt odniesienia
do kombinowania (jak miałem na sztywno wpisane to się nie dało edytować)


Cytat
a najlepiej uzyj fckeditora lub tinymce


Ale ja juz mam tu jakiś WYSYWIG, tylko że nie daje sie edytować
pod FF, a szybciej będzie chyba wprowadzić poprawkę
niż zmienić na inny
nospor
Cytat
Ale ja juz mam tu jakiś WYSYWIG, tylko że nie daje sie edytować
pod FF, a szybciej będzie chyba wprowadzić poprawkę
niż zmienić na inny
to zalezy. tinymce bardzo latwy w uzyciu, konfigurowalny, dziala pod kazdą przeglądarką, 5 minut roboty smile.gif
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.