Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] Dynamiczny preview
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
shpaque
Witam, szukałem i szukałem i nie znalazłem - coś zawiłe - domyślam się, że to jest bardzo proste, ale:

mam wrzucony taki niekompletny formularz pod adresem http://smusic.nazwa.pl/_test/mip/

chodzi o to, żeby w polu "podgląd" na bieżąco wyświetlało mi się to co piszę w polu textarea (po lewej) w kolorze dynamicznie wybieranym z radio buttonów...
nospor
Problem z ajax nie ma zadnego zwiazku. TO jest zwykly js.... przenosze.

Podczepiasz sie pod zdarzenie ONKEYDOWN i w tym podczepieniu wawalasz do PODGLAD tresc ktora wpisujesz
shpaque
dobrze @nospor, ale jak..? Widziałem gdzieś coś takiego, ale u mnie to nei działa - znaczy nie wiem jak to zczepić

  1. <script type="text/javascript">
  2. <!-- //
  3. function preview(wb_wzor, podglad){
  4. document.getElementById(podglad).innerHTML = wb_wzor.value;
  5. String.replace ('\r\n', '<br />');
  6. }
  7. -->
nospor
Uzywasz edytora openwysiwyg. Doczytaj jak w nim podpiac sie pod zdarzenie zmiany tresci lub wcisniecia klawiasza klawiatury. Ja tego nie wiem, bo nie znam tego edytora. Jak juz to bedziesz mial, to bedziesz mogl przejsc dalej
jacobson
banalny przyklad (co prawda bez zmiany kolorow) http://jsfiddle.net/a6MLc/1/
nospor
@jacobson Twoj przyklad dotyczy zwyklego INPUTA a tutaj mamy edytor tekstowy, pod ktory zdarzenia podpina sie chyba inaczej (moge sie mylic bo nie podpinalem)
jacobson
w sumie nie jestem pewien ale wydaje mi sie ze edytor textowy jest podpinany pod textarea z pewnym id i dzieki temu w takim sam sposob mozemy z niego pobrac zawartosc i wyswietlic w boxie obok.
nospor
No wlasnie nie. Uzywajac edytora nie piszesz bezposrednio w textarea, tylko w specjalnie wygenerowanym okienku. Do textarea tresc jest przekazywana dopiero poźniej.
shpaque
ok udało się jako to wykombinowac - zrezygnowałem z openwysiwyg i zrobiłem normalnie 7 inputów z textem (jako max. 7 linijek)

czyli jesteśmy o krok dalej.

do zmiany kolorów użyłem tego:
  1. <input type="radio" id="czarny" onfocus="preview.style.color='#000000'; preview2.style.color='#000000'; preview3.style.color='#000000'; preview4.style.color='#000000'; preview5.style.color='#000000'; preview6.style.color='#000000'; preview7.style.color='#000000';return false;" name="kolor" value="czarny" checked="" required="required">
bo każda linijka wyświetlana to jedno "preview" i to działa znakomicie.

rozumiem że do czcionek - kroju i wielkości - robię analogicznie?

@edit

teraz tak - mam checkboxa i ustawione:
  1. onClick="preview.style.fontWeight='bold';"
co zrobić żeby ponowne kliknięcie przywracało stan oryginalny (fontWeight='normal';)? onkeyup nie działa, onmouseup nie działa...
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.