2017-04-02 47 views
2

所以基本上我有:如何檢索可在jQuery中編輯的div內容的行尾?

<div id="hey" contenteditable="true"></div> 

被用作一個文本框。現在的問題是,當你嘗試輸入類似的東西:

Hello 
How are you 

(注意:它包含後面的行尾)。但我得到的輸出是HelloHow are you但我想這是因爲

Hello 
How are you 

的jsfiddle測試:https://jsfiddle.net/zcyg8q2u/

您可以直接在文本框中輸入兩個行,按提交按鈕,查看結果由你自己。

非常感謝

回答

0

您可以使用html()方法而不是text()。它會保留原來的格式:

$('#button').on('click', function(){ 
    var text = $('#hey').html(); 
    $('#textspan').html(text); 
}); 

https://jsfiddle.net/zax8tkxq/

如果您打算保存在數據庫中的結果而不想照顧消毒的,那麼另一種選擇是使用的textarea:

<span id="textspan"></span> 
<textarea id="hey"></textarea> 
<input type="button" id="button" value="Submit" /> 

下面CSS屬性添加到您的容器:

white-space: pre; 

https://jsfiddle.net/7ngurg3q/

+0

好的,這工作得很好,但是如果你檢索保存在我的數據庫中的'#hey'值,沒有Xss對不對? –

+0

我添加了一個例子,如果你不想清理html到你的數據庫 –

+0

我很抱歉我遲到的答覆,無論如何,第二個例子工作正常,但是你使用'textarea'可以給出同樣的例子'div'是'contenteditable'? –

相關問題