javascript:获取textarea的内容,textContent vs. innerHTML vs. innerText

标签 javascript textarea getelementbyid

我无法使用 js 获取文本区域的内容。我觉得我以前已经做过很多次了,没有任何问题,但有些事情让它失败了,或者我有精神障碍。

html

<textarea id="productdescript">test copy..asdfd</textarea><button value="Enter" onclick="addProduct()">

js

function addProduct() {
var descript = document.getElementById('productdescript').textContent;
alert(descript);
}

Firefox 是我目前唯一的浏览器。

当我使用 textContent 时,警告框出现但它是空白的。 当我使用值时,出现警告框并显示“未定义” 当我使用 innerHTML 时,所有 HTML 都会出现,包括标签。

此外,我知道 textContent 仅在 FF 中运行,为了跨浏览器兼容性,您需要执行类似 innerText 和 textContent 的操作,但 textContent 在 FF 中不起作用。此应用程序上没有 jquery

获取文本区域内容的正确跨浏览器方式是什么!感谢您的任何建议。

最佳答案

对于 textarea,您只能在您的场景中使用 .value(我测试了您给定的代码,它工作正常)。 .

此外,

1) 请记住,在代码中提到您的元素之后,addProduct() 调用此函数,否则它将是未定义.

2) 必须有另一个元素id as productdescript

3) 不能有一个叫做 productdescript 的 JS variable

关于javascript:获取textarea的内容,textContent vs. innerHTML vs. innerText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16013899/

相关文章:

javascript - Node - 如何将 MongoDB 时间戳转换为日期

javascript - 如何在 react js 应用程序中插入 hubspot 表单?

html - html lang 属性在文本区域或其他用户可编辑元素上意味着什么?

javascript - IE 中的 getElementById.contentDocument 错误

java - 尝试访问 Login 元素,但没有元素 id 或类

javascript - 如何在 JavaScript 中将位组合成更大的整数

javascript - 如何在 Parse 推送通知中包含特定于用户的数据?

iOS 快速键盘,上面有越来越大的输入区域

php - 如何从 MySQL 中的文本区域插入多行

c# - 无法在 Firefox 浏览器上使用 AjaxFileUpload 控件的 asp.net WebForm 中更新标签