2017-04-02 5 views
2

だから基本的に私が持っている:テキストボックスとして使用されているjqueryで編集可能なdivコンテンツからEnd-of-Lineを取り出す方法は?

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

Hello 
How are you 

(注意:それはハロー後エンドのラインが含まれています)今の問題は、あなたが何かを入力しようとすると、ということです。しかし、私は取得しています出力はHelloHow are youようですが、私はそれになりたい

Hello 
How are you 

Jsfiddleテストとして:あなただけのテキストボックスに2行を入力し、送信ボタンを押して、結果を見ることができますhttps://jsfiddle.net/zcyg8q2u/

自分で。

多くの点について

答えて

0

text()の代わりにhtml()メソッドを使用できます。これは、書式設定を維持します:

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

https://jsfiddle.net/zax8tkxq/

データベースに結果を保存することを計画し、消毒の世話をしたくない場合は、別のオプションは、テキストエリアを使用することです:

<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

私の返信には申し訳ありませんが、とにかく2番目の例はうまくいきますが、 'textarea'を使っても同じような'div'は' contenteditable'ですか? –

関連する問題