Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kolorowanie składni na bieżąco
Capellini
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 16.10.2007

Ostrzeżenie: (0%)
-----


Nie wiem, czy umieściłem ten temat w dobrym dziale bo nie wiem, jakie technologie tu będzie najlepiej wykorzystać.

Chodzi mi o kolorowanie składni, ale przed kliknięciem przycisku "Wyślij". Po prostu w textarea. Jak najlepiej się za to zabrać? W zwykłym textarea nie ma raczej możliwości kolorowania tekstu więc to odpada. Dwie możliwości, jakie mi przyszły na razie na myśl to zrobienie "własnego textarea" np. w JavaScript, tylko że tutaj będzie potrzebne bardzo dużo pracy (będzie trzeba zaprogramowywać naciśnięcie każdego przyciskum, np. backspace) i wydaje mi się, że to trochę głupie rozwiązanie. Druga możliwość, która mi przyszła na myśl, to zrobienie tego jako aplet w Javie i wstawienie na stronę. Co o tym myślicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Capellini
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 16.10.2007

Ostrzeżenie: (0%)
-----


Poszukałem trochę i jest wiele artykułów na temat jak napisać swój edytor WYSWIG, ale ja znalazłem chyba prostszy sposób. Znalazłem, że jeżeli wpiszemy w pasku adresu przeglądarki poniższy kod, to można edytować stronę.

Kod
javascript:document.body.contentEditable = 'true'; document.designMode='on'; void 0


Poszukałem więc info na temat contentEditable i stwierdziłem, że najprościej będzie w taki sposób:

1. Tworzymy diva o nazwie "RichEdit".
2. W body onload dajemy funkcję w której ustawiamy contentEditable naszego diva na true, np. w ten sposób:
Kod
var zm = document.getElementById("RichEdit");
zm.contentEditable = "true";

3. Naszemu divovi ustawiamy onKeyPress na funkcję kolorującą tekst znajdujący się w divie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 17:04