Javascript-获取textarea的精确值

Javascript-获取textarea的精确值,javascript,Javascript,我需要得到textarea字段的精确值。有很多话题,但没有一个能满足我的需要。 Javascript转换html字符 console.log(document.getElementById('t1').value); //显示:a'b=>OK console.log(document.getElementById('t2').value); //显示:a'b=>KO我需要得到a';b a'b a';b在读取textarea的值时,JavaScript不会转换任何内容,但浏览器会

我需要得到textarea字段的精确值。有很多话题,但没有一个能满足我的需要。 Javascript转换html字符

console.log(document.getElementById('t1').value);
//显示:a'b=>OK
console.log(document.getElementById('t2').value);
//显示:a'b=>KO我需要得到a';b
a'b

a';b
在读取textarea的值时,JavaScript不会转换任何内容,但浏览器会将实体呈现为其对应的字符。因此,一旦页面被呈现,文本区域中就不再有实体,它只是最终用户看到的文本。因此,
.value
.innerHTML
都无法检索实体


如果您试图实现的是在文本区域内显示实体,则必须将它们双重编码为
a'b
例如,通过使用实体
&用于符号。

JavaScript没有转换它。试试看?我相信它是
console.log()
显示了“转换”的值。但是实际值没有改变。“Javascript转换html字符。”-不,浏览器在解释html时转换了。您正在使用JavaScript查找的信息在当时甚至不再可用。改为执行
console.log(document.body.innerHTML)
,您将看到即使在那里,两个地方的内容也完全相同。我想如果您真的需要这个原始值,那么您需要在浏览器将代码解释为HTML之前“截取”它。(所以可能是通过一个AJAX请求获取HTML源代码)试试这个提琴:是的,我认为它可以在javascript端工作,但是文本区域将显示';不是“我理解你的问题,但正如我所说,JS无法读取实体,因为当浏览器呈现textarea时,不再有任何实体。好的,我理解了。解决方法是在div中编写我自己的文本区域。谢谢你的回答。