0

私は次のコードを書きました:

//HTML Page

//onpage load 
<body onload="RenderContent('{{ name }}');"> 

  <div id="cWrite"></div> 
  <form method="POST" action="/save/">{% csrf_token %}
    <input type="submit" value="Save Page"/>
  </form>

Javascript 機能:

function RenderContent(ctext)
{
  var ntext = ctext;

  ntext = ntext.replace('&alt;','<');
  ntext = ntext.replace('&quot;','\"');
  ntext = ntext.replace('&gt;','>');

  document.getElementById("cWrite").innerHTML = ntext;
}

コンテンツを投稿すると、name次のようになります。

<span id="newid" style="font-size: 10pt;">
  Write something! To Write,just press the edit button above...
</span> 
<span id="newid" style="font-size: 10pt;">
  Write something! To Write,just press the edit button above...
</span>

しかし、それを div innerHTML の文字列として使用したくありません。HTML コンテンツにしたいのですが、RenderContent関数は正しく機能しています (上記の<span id...コンテンツはアラートで表示されます)。

どうすればdivのinnerHTMLに変換できますか?

//Updated question

ok...dont call the function...what about this

 <div id="cWrite">{{ name }}</div> //html

渡された文字列 ({{ name }}) は

<span id="newid" style="font-size: 10pt;">Write something! To Write,just press the edit button above...</span>

HTMLの代わりに文字列にHTML要素が表示されます....以下は、POST後のHTMLファイルのソースコードです( {{ name }} で取得した文字列)

<div id="cWrite">&lt;span id=&quot;newid&quot; style=&quot;font-size: 10pt;&quot;&gt;Write something! To Write,just press the edit button above...&lt;/span&gt;</div>
4

0 に答える 0