【问题标题】:javascript: get contents of textarea, textContent vs. innerHTML vs. innerTextjavascript:获取 textarea 的内容,textContent vs. innerHTML vs. innerText
【发布时间】:2013-04-07 11:48:13
【问题描述】:

我无法使用 js 获取 textarea 的内容。我觉得我以前做过很多次都没有问题,但是有些东西把它扔掉了,或者我有精神障碍。

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内容的正确跨浏览器方式是什么!感谢您的任何建议。

【问题讨论】:

    标签: javascript textarea getelementbyid


    【解决方案1】:

    这是你的代码?

    你写document.getElementByID....,“D”应该写成小写“d”

    document.getElementById('productdescript').textContent;
    

    【讨论】:

      【解决方案2】:

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

      还有,

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

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

      3) 不得有名为productdescript 的JS variable

      【讨论】:

      • 这是我的问题中的一个错字。谢谢!该代码实际上有小写的 d 但仍然存在上述问题。
      • 知道为什么在我使用 .value 时它会提示“未定义”吗?
      • addProduct 在提到 id 后被调用,我相信。
      • 那么html代码中肯定还有一个id为productdescript的元素。检查查看源代码。
      • 你是对的,还有另一个同名的 id。 .value 有效
      猜你喜欢
      • 2014-08-17
      • 2018-07-09
      • 2015-07-02
      • 2014-02-14
      • 2020-12-01
      • 2012-09-05
      • 2011-10-20
      • 2014-02-07
      相关资源
      最近更新 更多