2011-08-02 3 views
3

는 다음과 같은 HTML 페이지 단편을 고려jQuery에서 HTML div의 줄 바꿈 문자를 텍스트 영역으로 복사하는 방법은 무엇입니까?

<div id='myDiv'> 
    Line 1.<br /> 
    Line 2<br /> 
    These are &ltspecial&gt; characters &amp; must be escaped [email protected]@&gt;&lt;&gt; 
</div> 
<input type='button' value='click' id='myButton' /> 
<textarea id='myTextArea'></textarea> 

<script> 
    $(document).ready(function() { 
     $('#myButton').click(function() { 
      var text = $('#myDiv').text(); 
      $('#myTextArea').val(text); 
     }); 
    }); 
</script> 

첫째, ID myDiv와 div 요소가있다. 여기에는 프로덕션 웹 사이트에서 런타임시 SQL 데이터베이스에서 검색 할 수있는 것과 유사한 텍스트가 포함되어 있습니다.

다음으로 버튼과 텍스트 영역이 있습니다. 단추를 클릭하면 myDiv의 텍스트가 텍스트 영역에 나타나기를 원합니다.

그러나 제공된 코드를 사용하면 줄 바꿈이 제거됩니다. 이스케이프하는 특수 문자가 절대적으로 협상 할 수 없다는 점을 고려하면 어떻게해야합니까?

+0

텍스트 영역의 사용자 입력에서 읽는 줄 바꿈 문자는 항상 문제가되지 않았 음을 추가해야합니다. 텍스트 영역에 텍스트를 설정하는 것이 문제입니다. 지금까지 내가 찾은 유일한 해결책은 직렬화 된 문자열에 텍스트를 저장하는 것이지만, 실제로 KLUDGE처럼 느껴집니다. –

+0

Chrome에서 저에게 맞습니다. http://jsfiddle.net/jasongennaro/8P8fH/ –

답변

0

코드는 파이어 폭스와 크롬 모두 나를 위해 잘 작동합니다 : http://jsfiddle.net/jYjRc/

을하지만, 당신은 당신이 원하는 것을 할 줄 바꿈 문자로 <br>의를 대체하지 않습니다 클라이언트가있는 경우.

편집 : IE7에서 테스트되었고 코드가 손상되었습니다. 그래서 난 내 제안에 바이올린을 업데이트 :

<div id='myDiv'><pre> 
Line 1. 
Line 2 
These are &ltspecial&gt; characters &amp; must be escaped [email protected]@&gt;&lt;&gt; 
</pre></div> 

을 그리고 당신도 IE에서 <pre> 태그를 지정으로 지금 .text() 정확히 텍스트를 반환합니다 http://jsfiddle.net/jYjRc/1/

+0

재미 있습니다. 우리가 IE 전용 상점이기 때문에 파이어 폭스에서 내 코드를 테스트하는 경우는 거의 없다. –

+0

불행히도'
'을 줄 바꿈으로 대체하려는 제안은'$ ('# –

+0

업데이트를 추가했습니다. 다시 확인하십시오 :) – imsky

0

은 다음처럼 HTML를 수행합니다.

관련 문제