2017-04-14 49 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> 

所以我的問題是,當我通過文本區域插入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,你可以使用同樣的目的。

相關問題