1

我有一个文本区域

<textarea id=view-body ></textarea>

当点击来自

<a href='#' onclick='popup_view(this)' data-body ='". $rows['body'] ."' >view</a>

<script language="JavaScript">
function popup_view(e) 
{       
    var body = e.getAttribute('data-body');         
    el = document.getElementById("view-body");  
    el.innerHTML = body;    
}
</script>

我希望按原样打印我的 textarea 的内容。例如 onclick 发送

<i>Wired</i>

我的文本区域打印输出

<i>Wired</i>

但不是,应该是这样的

有线

4

5 回答 5

2

Javascript innerHTML 函数将文本转换为 html 形式。

您可以使用 textContent 函数,如下所示

http://jsfiddle.net/yWgn7/

在 jquery 中,您可以使用 .text() 函数,但我不确定 textContent 的兼容性。

于 2012-08-03T12:13:36.907 回答
1

尝试使用 div 而不是 textarea。如果我正确理解这一点,则 textarea 正在显示<i></i>并且您不希望它显示。Textarea 不能自然地处理 html 格式。

于 2012-08-03T11:58:23.967 回答
0

您必须使用 htmlentities 函数将特殊字符替换为 html 实体。

data-body = "<? php echo htmlentities($rows[' body ']);?>"
于 2012-08-03T12:12:48.313 回答
0

HTML 的内置<textarea>元素不允许您对其内容进行样式设置。你需要的是某种所见即所得的编辑器来做到这一点。

于 2012-08-03T11:58:43.723 回答
0

您可以用任何富文本编辑器 http://ckeditor.com/替换您的文本区域

于 2012-08-03T11:58:51.423 回答