Vinit Sharma
Vinit Sharma

Reputation: 471

How to preserve white spaces in content editable div

I am using the content editable div as a field to fetch user inputs in my website. But my problem is that when i get the contents of the div using jquery all the white spaces are lost which are entered by the user in the div ?

So, I want to know is there any way to preserve all the white spaces for content editable div ?

Thanks

Upvotes: 21

Views: 11322

Answers (2)

iamio
iamio

Reputation: 1191

I found the answer here: http://simonewebdesign.it/blog/how-to-make-browser-editor-with-html5-contenteditable/

Your css style for the content-editable element should contain the following:

.content_editable_element {
    white-space: pre-wrap;       /* css-3 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

Upvotes: 35

Mark S
Mark S

Reputation: 3799

div has a default white-space: normal;. How is it gone anyway and how do you get/fetch the contents? I think line-breaks will also be a problem

<div class="input" contenteditable="true">abc 123 def 456</div>
<button class="get">get</button>   
$('.get').click(function(){alert($('.editable').text());});

JSFiddle

Upvotes: 1

Related Questions