2012-07-23 50 views
2

這與question類似。在文本框裏面隱藏<br />,當用戶按下回車鍵時jquery

我正在嘗試捕獲用戶在文本框中的信息,然後通過電子郵件將確切格式的信息發送給提交頁面的所有者。

目前發送的電子郵件顯示在一行上。我需要在電子郵件中包含換行符。

我有以下一段代碼,我需要隱藏用戶的換行符。任何建議將不勝感激。

$("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

首先,textarea元素只能容納文本,而不是子html元素(所以沒有'
'元素)。其次,在當前值的_end_處插入'
'沒有意義,因爲用戶不一定在字段的末尾鍵入。你應該在提交時做這樣的處理,最好是在服務器端,如果這是電子郵件發送的地方 - 你不能在這一點取得完整的值,並用'
'代替'\ n'(假設電子郵件你發送的實際上是HTML格式)? – nnnnnn 2012-07-23 02:25:35

+0

感謝您的信息。我正在使用textarea作爲用戶的反饋意見。目前它只是在一行中顯示所有內容,並且正在剝離格式,因爲它不能識別html。任何想法,我哪裏去錯了還是一個新手......先謝謝了。 – BridC 2012-07-23 02:46:08

+0

你如何生成電子郵件?服務器端? – nnnnnn 2012-07-23 03:10:54

回答

1

請試試這個:http://jsfiddle.net/yauqg/

希望它可以幫助事業:)

代碼

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

您可以省略該正則表達式中的[]括號。同樣的處理也應該在模糊或提交時完成(以允許用戶拖放或將文本粘貼到字段中)。 – nnnnnn 2012-07-23 02:34:37

+0

謝謝布魯夫完成! @nnnnnn('=>'** nnnnnn **是什麼意思 - 如果我可能會問):) – 2012-07-23 02:35:56

+0

感謝您的提示Tats_innit我剛剛解決了它稍微不同。我遇到的問題是它不識別HTML標籤並去掉格式。 – BridC 2012-07-23 02:36:32

相關問題