2012-11-21 33 views
12

Zadałem to pytanie teraz na kilka sposobów, ale wciąż nie otrzymałem odpowiedzi.HTML Podział wierszy wyświetlacza w obrębie textarea

Podczas przechwytywania tekstu asci w obszarze tekstowym, który zawiera podziały wierszy, wydaje się wstawiać niewidoczne znaki w postaci łamania wierszy po naciśnięciu klawisza powrotu. Linia podziału wydaje się mieć format \ r dla powrotu lub \ n dla nowej linii. Te znaki nie są widoczne w tekście, ale gdzieś są.

Jednak po umieszczeniu tego kodu w obszarze tekstowym nie mogę go wyświetlić, aby wyświetlić podział linii. W rzeczywistości nie mogę znaleźć żadnego kodu, który umieszczony między tagami textarea wyświetla podział wiersza.

Czy ktoś może pokazać sposób wyświetlania podziałów linii w obszarze tekstowym, np.

<textarea>first line <some code> second line </textarea> 

Naprawdę próbowałem wszystkiego, co tylko można sobie wyobrazić. Na przykład, jeśli staram <textarea> first line "\r\n" second line</textarea> po prostu wyświetla

`firstline "\r\n"` second line 

Uwaga: nic z udziałem <br> nie rozwiąże tego problemu, ponieważ nie chodzi o html, ale raczej zwykły tekst wyświetlania w polu tekstowym.

Dzięki za sugerowany kod do wyświetlania podziałów linii w obszarze tekstowym.

+0

Czy zwykły tekst jest włożona do textarea dynamicznie z javascript lub html jest statyczny? – stomtech

Odpowiedz

0

Nie jestem pewien, czy mogę odpowiedzieć na twoje pytanie.

Jeśli chcesz napisać to w swoim <textarea/>

first line 
second line 

Należy napisać tak:

<html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <textarea rows="4" cols="40"> 
first line 
second line 
     </textarea> 
    </body> 
</html> 

W PHP trzeba napisać ten

<html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <textarea rows="4" cols="40"><?php echo "first line\r\nsecond line" ?></textarea> 
    </body> 
</html> 

upewnić się, że ciąg jest pomiędzy "i nie"

+0

Spróbowałem kodu php powyżej (dodając;) po drugim cytacie i wydrukował pierwszą linię drugiej linii, bez podziału na wiersze. Dosłownie wypróbowałem echo "first line \ r \ nsecond line"; – user1260310

19

Cóż, jeśli robisz to przez czysty HTML, możesz to zrobić na dwa sposoby. Wystarczy dodać wiersze, naciskając klawisz Enter lub za pomocą znaków ASCII &#013; &#010;

jsFiddle

+0

ok. To działa.Czy wiesz, co chciałbym skanować w tekście, aby wstawić te znaki ASCII programowo, tj. W PHP, jeśli mam $ text = $ _GET ['text']; $ test = str_replace ("\ n", " & # 010", $ text); – user1260310

+0

nie w PHP przepraszam, .NET używa System.Environment.NewLine, jeśli to pomoże Ci na właściwym tropie w ogóle. –

0

Jeśli używasz JavaScript można użyć elementu textarea value Property.

var tb = document.getElementById("tb"); 
 

 
var newLine = "\r\n"; 
 

 
var text = "Output: " + newLine + "-------------------" + 
 
         newLine + "line 1: \t " + 
 
         newLine + "line 2: \t "; 
 

 
tb.value = text; 
 
//console.log(text);
<textarea id="tb" rows=5> 
 
Output: &#13;&#10;------------- 
 
</textarea>

Run it on JSFiddle