텍스트 영역에서 줄 바꿈을 캡처하려고 필사적으로 노력하고 있습니다. 텍스트 영역의 내용을 데이터베이스에 저장 한 다음 데이터베이스에서 가져온 텍스트 영역에 표시하려고합니다. 텍스트 영역은 편집 상자의 역할을해야합니다. 어떤 시점에서도 html로 표시해야합니다.javascript/html/php는 텍스트 영역에서 줄 바꿈을 캡처합니다.
텍스트 영역의 텍스트를 줄의 배열로 변환하고 \ r \ n의 문자로 분해 한 다음이를 파싱하여 텍스트 영역의 내용을 서버에 게시하는 일반 html 페이지에서이 작업을 수행 할 수있었습니다. 쉼표로 구분 된 목록의 목록으로. 그런 다음 줄을 다시 표시하려면 쉼표를 \ n으로 바꾸고 줄 바꿈으로 텍스트를 가져 와서 텍스트 영역 내에 표시 할 수 있습니다. 해킹 조금하지만 작동합니다.
그러나 html을 사용하여 서버에 텍스트 영역 내용을 게시하는 대신 JavaScript로 getElementByID를 사용하여 가져오고 자바 스크립트로 서버에 게시 할 때 작동하지 않는 것처럼 보입니다.
html을 사용하여 텍스트 영역 콘텐츠를 가져오고 \ r \ n에 폭발 시키면 줄만큼 많은 요소가있는 배열이 생성됩니다.
그러나 javascript의 getElementByID를 사용하여 텍스트 영역의 내용을 가져오고 \ r \ n에서 폭발 시키면 배열에서 행이 실행되는 요소가 하나만 생깁니다. 다시 말해, 줄 바꿈이 발생하지 않습니다.
자바 스크립트에서 텍스트를 가져올 때 줄 바꿈이 사라지는 이유는 누구나 알고 있으며 자바 스크립트에서 줄 바꿈을 유지하는 방법에 대한 제안이 있습니까?
감사합니다.
단축 코드 : 자바 스크립트
getText() {
var textobj = document.getElementById("text");
var text = textobj.value;
...some code for AJAX
document.getElementById("droptext").innerHTML=xmlhttp.responseText;
... some more code for Ajax
xmlhttp.open("GET","savetext.php?text="+text,true);
xmlhttp.send();
}
HTML
<div id="droptext"><textarea id="text"><textarea></div>
<a href="javascript:void(0);" onclick="getText();">Save Text</a>
PHP
$text = $_GET['text'];
$textarray = explode("\r\n", $text);
$text = implode(",",$textarray); //converts to comma delimited list
...store in database
...fetch from database and echo text back for editing
$text = $row['text'];
$text = str_replace(",", "\n", $text);
echo '<textarea>'.$text.'</textarea>';
내가보기에 'document.getElementById ("droptext"). innerHTML = xmlhttp.responseText '가'텍스트 '를 지 웁니다. texarea –