2017-04-14 8 views
0

を認識しないHTMLタグです:は、なぜ私はこのコードを持って

<textarea name="TT_board_announcements_content_insert" value="{TT_board_announcements_content_insert}">{TT_board_announcements_content_insert}</textarea> 

<div id="board-announcements"> 
<!-- IF TT_board_announcements_content_insert --> 
{TT_board_announcements_content_insert} 
<!-- ENDIF --> 
</div> 

私はそれを保存した後、私は、TEXTAREAてhtmlタグを持つコンテンツを挿入する際だから私の問題があります。 Div id board-announcementsは、textareaフィールドに入力されたのと同じ方法でコンテンツを表示します。つまり、htmlタグを認識しません。

だから、それはこのように表示されます。

example

は、だから私はこのjQueryの簡単なコードを使用します。
$('#board-announcements').html($('#board-announcements').text()); 

と、このコードが動作すると

しかし、私の質問です:どのようにjQueryを使用せずに解決するには?

私はtinymceで試しましたが、再度保存すると、div id board-announcementsはHTMLタグを認識しません...プレーンテキストとして表示されます。

+0

コードは完全ではありませんが、おそらく 'html_entity_decode()'を使用する必要がありますか? http://php.net/manual/en/function.html-entity-decode.phpブラウザでソースを見ると、受け取った情報を見ることができます。 –

+0

それは "テキスト領域"であり、 "コード領域"ではないので、その方法を示しています。あなたがしようとしているのは、マークアップをテキスト領域内に置くことであり、それは意味的または技術的に正しいことではありません。 「textarea要素は、要素の生の値の複数行プレーンテキスト編集コントロールを表します。」https://www.w3.org/TR/2016/REC-html51-20161101/sec-forms.html#the-textarea-element – Rob

+0

私は無効なマークアップを強制できないことややらないべきことを強制しようとしているため、この質問を議論の対象外としています。 – Rob

答えて

0

innerHTMLdocument.getElementByIdを使用してください.JQueryは必要ありません。

function insertContent() { 
 
    var content = document.getElementById('content'); 
 
    var text = document.getElementById('text'); 
 
    content.innerHTML = text.value; 
 
}
<textarea id="text"><h1>Hi</h1></textarea> 
 

 
<div id="content"></div> 
 
<button onclick="insertContent()">insert content</button>

0
<div name="TT_board_announcements_content_insert" value="{TT_board_announcements_content_insert}" contenteditable="true">{TT_board_announcements_content_insert}</div> 

それはテキストエリアではありませんが、これは、あなたが同じ目的のために使用することができ、コンテンツの編集可能なDIV、です。

関連する問題