2011-09-06 4 views
2

나는 일반 텍스트 상자을 사용자가 자신의 의견을 구하는 텍스트 입력으로 사용하고 있습니다. 그런 다음 JQuery와 JSON을 사용하여 데이터를 서버로 보낸 다음 데이터베이스에 삽입합니다.JavaScript를 사용하여 HTML에 글을 쓸 때의 개행 문제

이 텍스트를 표시하려면 jQuery를 사용하여 HTML을 준비하고 브라우저에 표시하려면 다운로드해야하지만 새 줄은 없습니다.

사용자가 입력 한 줄 바꿈을 브라우저에 표시되도록하려면 어떻게해야합니까?

편집 :.

문제는 내가 경고 $ ('. detailsCommentContent')을 수행 할 때 발을() 나는 다음 GET 인수로 전달 때이 경고 창에 줄 바꿈을 볼 수 있지만 수 있다는 것입니다 :

insertComment.aspx? ID = 10 & 내용 = "+ $ ('. detailsCommentContent'). 발()"

는 다음 URL에서 개행의 흔적 :(할

+0

너무 중복 된 플래그 –

+1

@Tim Post 연결된 질문이 C# codebehind에서 수행 할 때 정확한 복제본으로 닫히는 이유는 확실하지 않습니다.이 코드는 javascript와 약간 다른 시나리오를 사용하여 수행하고 있습니다. HTML을 주입하고 주입 전에 미리 포맷팅해야합니다. – Kelsey

+0

@Kelsey 나는 HTML 자체를 중심으로 한 더 많은 문제를 읽었다. 내가 그것을 닫은 유일한 실제 _vote_ 인만큼, 나는 가서 질문을 다시 할 것이다. –

답변

1

없다 텍스트를 텍스트 영역이나 페이지에 직접 표시 하시겠습니까?

페이지에서 db에서 텍스트를 가져 와서 페이지에 인쇄 할 때 줄 바꿈을 <br/> 태그로 변환해야합니다.

1

페이지에 자바 스크립트를 사용하여 HTML을 작성하기 전에, <br /> 태그로 모든 줄 바꿈을 교체해야합니다.

String.prototype.NewlineToBR = function() { 
    return this.replace(/\r\n|\r|\n/g, br || ''); 
} 

사용법 :

var htmlString = newlineString.NewlineToBR(); 

그런 다음 당신 HTML에 새로운 문자열을 삽입 다음은 자바 스크립트 ( source)를 사용하여 그것을 할 수 있습니다 문자열에 대한 간단한 확장입니다.

-1

나는 이것이 당신이 사용하고있는 인코딩에 달려 있다고 믿습니다. 유니 코드와 아스키 등의 차이점. 이런 식으로 일한 이후로 꽤 오랜 시간이 걸렸지 만 두 가지 옵션이 있다고 생각합니다.

  1. 은 저장 및로드시 인코딩을 일치시킵니다. 우리는 하나의 ASCII 및 다른 코드의 유니 코드를 찾습니다.
  2. 로드 할 때 모든 줄 바꿈 문자를 절약하고 값을 바꾸면 다시 바꿉니다.
관련 문제