我的文字区域如下:
<textarea id="txtBody" name="txtBody">q2312312312<strong>313213213</strong>21231321231231 < &lt;</textarea>
当我在javascript中执行此操作时:
var t = document.getElementById('txtBody').value;
我得到了回复:
<p>q2312312312<strong>313213213</strong>21231321231231 < <</p>
似乎它应该只是给我一些确切的角色......我错过了什么?有没有办法从文本区域中获取确切的字符?
答案 0 :(得分:4)
我错过了什么吗?
&
是“开始实体”的HTML。
当您将文本放入HTML文档时(在textarea的开始和结束标记之间),您将无法将该文本表示为HTML。
因此,浏览器执行错误恢复并将<strong>
视为“小于字符,单词强,然后大于字符”(因为textarea
元素内不允许使用标记,但将<
视为“小于字符”,因为此处没有机器可检测到的错误。
有没有办法从文本区域中获取确切的字符?
您需要首先正确编写HTML。
<textarea id="txtBody" name="txtBody">q2312312312<strong>313213213</strong>21231321231231 &lt; &amp;lt;</textarea>
答案 1 :(得分:1)
我得到了正确的内容,我猜你的(X)HTML无效......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>untitled</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.19.1" />
</head>
<body>
<textarea id="txtBody" name="txtBody">q2312312312<strong>313213213</strong>21231321231231& < &lt;</textarea>
<script>
var t = document.getElementById('txtBody').value;
alert(t);
</script>
</body>
</html>