2017-04-14 50 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,你可以使用同样的目的。

相关问题