Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/js] dynamiczne lamanie lini w textarea
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
comanderv
witam,
dokladnie nie bylem pewny gdzie wrzucic ta prosbe o pomoc poniewaz tu wiecej php niz js'a u mnie jednak rozwiazaniem bedzie chyba tylko javascript...

do rzeczy, czytam z bazy dane (ktore zawieraja "\n") pozniej na onClicku maja one byc przekazane w nastepujacy sposob:
  1. $trescposta2 = str_replace("\r\n" , "&n", $trescposta);
  2. $trescposta2 = str_replace("\n" , "&n", $trescposta2);
  3. echo "<a href=#formularzyk>";
  4. echo "<img src='forum-gif/quote.png' style='float: right;' ";
  5. echo "onclick=\" document.getElementById('dodajkoment').style.display='block' ; ";
  6. echo "document.getElementById('dodajka').style.display='none'; ";
  7. echo "document.getElementById('textaread').value='[quuote=".$autortematu."]".$trescposta2."[/quuote]'; \" /> ";
  8. echo "</a>";

usuwam znak "\n" poniewaz jesli wewnatrz zmiennej on siedzi to ten onClick w ogole nie dziala ... wiec bezpiecznie go zamienilem na "&n"... napisalem specjalnie quuote (w moim pol autorskim bb oczywiscie jest quote) poniewaz forum to zle interpetowalo ;p

teraz moj problem polega na tym zeby w textare automatycznie zamieniac znak &n na znak nowej lini... do tego jak wrzuce tam "\n" to oczywiscie nic sie nie dzieje... <br/> tez nic nie daje... wlasciwie to nie wiem jak sie za to wziasc...

a sam textarea wyglada tak
  1. echo "<div id='edycja$idtegotematu' style='display: none;'>";
  2. echo "<form method='post' action='forum/edytujpost.php?id=$ktoreto'>";
  3. echo "<textarea cols='83' rows='6' name='tresc'> $trescposta </textarea>";
  4. echo "<input type='submit' value='ok'/>";
  5. echo "<input type='hidden' value='$idtegotematu' name='id'/>";
  6. echo "</form>";
  7. echo "</div>";


probowalem z inner.HTML.replace ale wlasnie, na co zamienic ten "&n" zebym w textarea mial nowa linie? sleep.gif

help
erix
[JAVASCRIPT] pobierz, plaintext
  1. alert("asdasdsad\nsdafsdfsdfsdf\ndsfsdf");
[JAVASCRIPT] pobierz, plaintext

Masz nie zamienić na kod znaku (\n), a na ten ciąg. Podpowiedź: escape.
comanderv
podpowiedz jak najbardziej pomocna jednak i tak musialbym zastosowac funkcje js na phpowej zmiennej...
nie dokonca wiem jak to powrzucac

<script>
var zmienna = <? echo $zmienna ?> ;
</script>

questionmark.gif
chodzi mi o ten kawalek mojego kodu:
  1. echo "document.getElementById('textaread').value='[quuote=".$autortematu."]".$trescposta2."[/quuote]'; \" /> \n";

zarzucenie mu "...escape(".$trescpostu2.")..."; nie ma prawa raczej dzialac i nie dziala u mnie sleep.gif

mozna jeszcze jedna podpowiedz w tym temacie?
erix
Nie funkcję escape a zaukośnikowanie w taki sposób, żeby \n pozostało w zapisie ciągu zmiennej.
comanderv
czyli jak na moje reali musze zamienic spacje na jakis znak ktory pozniej przy wywaleniu tego stringa w textarea zamienilbym na spacje... sleep.gif '

zatoczylem kolo smile.gif ale dzieki bo mimo ze jeszcze w domu nie jestem to wiem gdzie klamka ponoc jest tongue.gif

jak zastosowac funkcje weryfikujaca zawartosc textarea? w ktorej moglbym umiescic jakiegos dobrego replace'a ?

//edit:
problem z tym jsem nie rozwiazany ale obszedlem to nie uzywajac go... troche musialem przebudowac skrypt ale okazalo sie ze juz w bazie nie mialem \n i dlatego tak trudno bylo to wywalic z \n w odpowiednich miejscach skoro zle zapisane... sam php po raz kolejny wystarczyl tongue.gif

temacik do zamkniecia
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.