2013-08-27 4 views
4

내 사이트에는 사용자가 항목을 제출 (코드) 할 수있는 텍스트 영역이 있습니다. 그들이 나중에 페이지를 방문하면 제출 내용이 표시됩니다. 이 작업은 정상적으로 수행되었지만 최근에 일부 항목은로드 할 때 올바른 탭과 줄 바꿈을 표시하지 못합니다. Rails의 데이터를 살펴 봤는데 특정 항목에 탭 표시가 누락되어있는 것 같습니다 (\t). 텍스트가 표시 될 때 표시되지 않는 탭이 공백으로 대체 된 것처럼 보입니다. 이 오류의 원인은 무엇이고 어떻게 해결할 수 있습니까?내 사이트의 사용자 제출물에서 들여 쓰기가 사라지는 이유는 무엇입니까?

올바르게 저장되었다

예 텍스트 :

" some text\r\n some more text\r\n come code\r\n bla bla\r\n  end end\r\n  " 

참고 : 텍스트는 숨겨진 text_area에 Ace editor에 입력 만 전송되는 사용자가 클릭 신비한 문제있는 텍스트의

"lots of text;\r\n\r\some more text {\r\n\r\n\tsome code here(int a, int b{\r\n\t\t\tif(a%2==0)" 

예 에 제출하십시오.

개발 중에 로컬로 실행할 때이 오류를 복제 할 수 없었습니다. 그것은 생산 (Heroku에)에있는 특정 제출에만 일어났다.

업데이트 : 숨겨진 text_area에 공백이있는 텍스트가 표시되는 경우가 있지만 에이스 편집기가 해당 div에 올바르게 표시되지 않습니다.

답변

3

어떻게 값을 에이스로 설정합니까? editor.setvalue(str)str=editor.getvalue() 문자열을 변경할 수 없습니다.

그러나 텍스트를 DOM 요소로 설정하고 ace.edit으로 전화를 걸면주의해야합니다.

+0

예, 문제는 dom 요소를 설정 한 것이 었습니다. 이상한 점은 정상적으로 작동하지만 갑자기 버그가 발생했다는 것입니다 ... – Ari

+0

'el.textContent = "str"'이 작동해야한다고 생각합니다. 하지만 'el.innerText'는 적용된 CSS에 따라 텍스트를 변경합니다. –