2012-07-23 8 views
2

이것은 question과 유사합니다.<br />을 텍스트 상자 안에 숨기면 사용자가 jquery에서 Enter 키를 누를 때

나는 텍스트 상자 안에있는 사용자로부터 정보를 캡처하고 제출할 때 전자 메일의 정확한 형식으로 정보를 페이지 소유자에게 보내려고합니다.

전송되는 이메일은 한 줄에 표시됩니다. 이메일에 줄 바꿈을 포함시켜야합니다.

다음 코드 조각이 있는데 사용자로부터 줄 바꿈을 숨길 필요가 있습니다. 어떤 제안이라도 대단히 감사하겠습니다.

$("textarea").keypress(function(e){ 
     if (e.keyCode == 13) {   
     $(this).val( $(this).val() + "<br/>"); 
     //insert a newline 
     $(this).val($(this).val() + "\n"); 
     alert("just enter was pressed"); 
     return; 
     } 
    } 
+1

첫째, 텍스트 영역 요소는 그래서 텍스트가 아닌 자식 HTML 요소를 (보유 없음 '
'요소). 둘째, 현재 값의 _end_에 '
'을 삽입하는 것은 의미가 없습니다. 사용자가 입력란의 마지막에 반드시 입력하지 않아도되기 때문입니다. 전자 메일을 보내는 곳이면 서버 쪽에서 제출과 같은 처리를 수행해야합니다. 그 시점에서 완료 값을 가져 오지 말고'\ n'을 '
'(이메일을 가정하면 당신은 실제로 HTML 형식으로 보내고 있습니다)? – nnnnnn

+0

정보를 제공해 주셔서 감사합니다. 사용자로부터 피드백 목적으로 텍스트 영역을 사용하고 있습니다. 지금은 한 줄에 모든 것을 보여 주며 html을 인식하지 못하기 때문에 형식을 제거하고 있습니다. 내가 잘못하고있는 부분에 대한 아이디어도 아직 초보자입니다 ... 미리 감사드립니다. – BridC

+0

이메일을 어떻게 생성합니까? 서버 측? – nnnnnn

답변

1

이 시도하십시오

http://jsfiddle.net/yauqg/이 원인을 도와 희망 :)

코드

$('#text').keyup(function(e){ 
     var keyed = $(this).val().replace(/\n/g,'<br />'); 
     $("#target").html(keyed); 
});​ 
+1

그 정규식에서'[]'괄호를 생략 할 수 있습니다. 이 동일한 처리는 사용자가 필드로 드래그 앤 드롭하거나 텍스트를 붙여 넣을 수 있도록하기 위해 흐림 또는 제출시에도 수행해야합니다. – nnnnnn

+0

감사합니다. bruv 완료! @nnnnnn ('=>'** nnnnnn **의 의미는 무엇입니까?) : –

+0

팁 Tats_innit 주셔서 감사합니다. 방금 약간 다르게 해결했습니다. 내가 겪고있는 문제는 HTML 태그를 인식하지 못하고 포맷팅을 제거한다는 것입니다. – BridC