使用javascript获取textarea的确切内容

时间:2011-04-29 18:38:09

标签: javascript textarea

我的文字区域如下:

<textarea id="txtBody" name="txtBody">q2312312312<strong>313213213</strong>21231321231231 &lt; &amp;lt;</textarea>

当我在javascript中执行此操作时:

var t = document.getElementById('txtBody').value;

我得到了回复:

<p>q2312312312<strong>313213213</strong>21231321231231 < &lt;</p>

似乎它应该只是给我一些确切的角色......我错过了什么?有没有办法从文本区域中获取确切的字符?

2 个答案:

答案 0 :(得分:4)

  我错过了什么吗?

&是“开始实体”的HTML。

当您将文本放入HTML文档时(在textarea的开始和结束标记之间),您将无法将该文本表示为HTML。

因此,浏览器执行错误恢复并将<strong>视为“小于字符,单词强,然后大于字符”(因为textarea元素内不允许使用标记,但将&lt;视为“小于字符”,因为此处没有机器可检测到的错误。

  

有没有办法从文本区域中获取确切的字符?

您需要首先正确编写HTML。

<textarea id="txtBody" name="txtBody">q2312312312&lt;strong&gt;313213213&lt;/strong&gt;21231321231231 &amp;lt; &amp;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; &amp;lt;</textarea>
    <script>
        var t = document.getElementById('txtBody').value;
        alert(t);
    </script>
</body>

</html>