2009-05-14 2 views

답변

227

문제는 줄 바꿈 (\n\r은?) <br/> 태그

은 일반 자바 스크립트를 사용하는 경우
var text = document.forms[0].txt.value; 
text = text.replace(/\r?\n/g, '<br />'); 
+6

이것은 나를 위해 너무 작동합니다. jQuery에서 $ ('caption') .html ($ ('caption'). text(). replace (/ \ n \ r?/g, '
')); – DavGarcia

+1

줄 바꿈 Regexp는'/ (\ r \ n | \ n | \ r)/gm'이어야합니다. http://www.textfixer.com/tutorials/javascript-line-breaks.php – tothemario

+0

jQuery를 사용하는 경우 '.val'을 사용하는 것이 좋습니다 - http://stackoverflow.com/questions/5583040/show-newlines-in-html-textarea/5583094#5583094 –

8

당신은 textarea

+0

적어도 Chrome v 61 이상에서 작동합니다. – Snorvarg

+0

고마워 .. 나를 위해 일해도 –

3

새로운 라인이 브라우저에 바로 공백입니다 내부 linebreaks에 대한 \n를 사용해야하고 정상적인 공간에 어떤 다른 처리되지 않습니다 (""). 새 줄을 가져 오려면 <BR /> 개의 요소를 삽입해야합니다.

문제를 해결하기위한 또 다른 시도 : 텍스트 영역에 텍스트를 입력 한 다음 보이지 않는 문자를 읽을 수있는 것으로 변환하고 DIV에 결과를 덤프하는 단추 뒤에 JavaScript를 추가하십시오. 그러면 브라우저가 원하는 것을 알려줍니다.

20

은 HTML과 동일하지 않은 사실에서 유래 당신은 다음

을 영역 값을 텍스트 문자열을 지정해야
document.getElementById("textareaid").value='texthere\\\ntexttext'. 

당신은 \\\n

\n 또는 <br>를 교체해야 그렇지 않으면 모든 브라우저에서 Uncaught SyntaxError: Unexpected token ILLEGAL이됩니다.

+0

이 Firefox 38.0에서 작동하지 않습니다. – Randall

11

어쩌면 누군가가 찾아 사용하십시오 줄 바꿈으로 서버에 testarea의 값을 전송해야하는 경우이 유용한 :

나는 자바 스크립트로 서버 변수에서 전달 된 줄 바꿈 문제가 있었다

변수, 그리고 자바 스크립트 (knockout.js 값 바인딩을 사용하여) 텍스트 영역에 그들을 쓰고 있었다. 때문에 구문 분석되지 않은 자바 스크립트 단지 하나의 탈출 문자로, 서버 측에서

orginal.Replace("\r\n", "\\r\\n") 

:

이 솔루션은 이중 신규 라인을 탈출했다.

+0

"\\ n"을 사용하는 것이 Windows에서 작동하며 Linux 시스템에서 정상적으로 작동한다고 가정합니다. –

0

내가 여기있는 같은 문제 때문에 내가 한 일입니다. 당신이 원하는대로 내가 JSP에 다음 페이지로 텍스트를 통과있을 때

, 내가

처럼 뭔가를 읽고 대신 텍스트 영역으로 읽고 있어요 그래서 출력왔다. 및 기타 속성의 경우 아래와 같이 사용할 수 있습니다.

<textarea id="infoartist" ng-show="dForm" style="width: 100%;" placeholder="Tell your contacts and collectors about yourself."></textarea> 

자바 스크립트 코드에서, 내가 텍스트 영역의 가치를 새로운 라인 (\ n \ r 일)을 탈출 대체 할 수 있습니다으로 : ID가 #infoartist에게 후속이다와

<textarea style="background-color: white; border: none; width:660px;font-family: Arial, Helvetica, sans-serif; font-size:1.0em; resize:none;" name="text" cols="75" rows="15" readonly="readonly" ><s:property value="%{text}"/></textarea> 
2

나는 텍스트 영역이 <br /> 태그와 같은 : 그래서

var text = document.getElementById("infoartist").value; 
text = text.replace(/\r?\n/g, '<br />'); 

당신이 (나 같은) jQuery를 사용하는 경우 :

var text = $("#infoartist").val(); 
text = text.replace(/\r?\n/g, '<br />'); 

희망이 당신을 도왔습니다. :-)