obtenez le contenu du texte d'une div contenteditable par javascript

je veux récupérer le contenu du texte d'une div contentEditable par javascript. Quelles sont les possibilités de le faire? J'ai essayé innerHTML mais ça ne marche pas.

19
demandé sur Suraj Air 2010-08-29 09:21:17

6 réponses

utilisez jQuery et do

var content = $('#my-contenteditable-div').html();

également consulter ces liens:

http://west-wind.com/Weblog/posts/778165.aspx

extraction de texte d'une div contentEditable

6
répondu Moin Zaman 2017-05-23 12:34:29

Pourquoi ne pas utiliser textContent pour ceci:

var contenteditable = document.querySelector('[contenteditable]'),
    text = contenteditable.textContent;

http://jsfiddle.net/E4W8y/1/

31
répondu Mircea 2017-02-07 05:31:01

Malheureusement, j'ai trouvé que innerText est le seul moyen de préserver les nouvelles lignes dans les noeuds dom contentédibles. Ce que je fais (testé seulement dans chrome en ce moment) est ceci:

 var innerText = editableDiv.innerText  // using innerText here because it preserves newlines
 if(innerText[innerText.length-1] === '\n') 
     innerText = innerText.slice(0,-1)             // get rid of weird extra newline
 return innerText
7
répondu B T 2017-02-24 02:35:48

lblMailContent est l'id de champ modifiable.

var details= document.getElementById("lblMailContent").innerHTML;

Mettez ce code dans clientClick. Il a bien fonctionné pour moi.

5
répondu user2028956 2013-05-16 09:10:26

je l'ai résolu de cette façon, parce que j'ai besoin html-entrée:

message = $('<div>').html(
   $('#area').html()
   .replace(/<(div|p|br)[^<]*?>/g, '&lt;br /&gt;')
   .replace(/<([(i|a|b|u)^>]+)>(.*?)<\/>/gim,
      function(v) { return '' + escape(v) + ''; })
).text();

permet les tags A, B, I, U et remplace Divs et Ps par BRs

2
répondu holysmoke 2016-05-12 10:31:33

Utilisation du contenu du texte, fonctionne bien dans la plupart des cas Exemple Pratique:jsfiddle(vérifié en Safari)

0
répondu Rakesh 2015-05-22 10:49:26