如何使用javascript替换textarea元素中的文本? [复制]

Posted

技术标签:

【中文标题】如何使用javascript替换textarea元素中的文本? [复制]【英文标题】:How to replace text in textarea element using javascript? [duplicate] 【发布时间】:2018-07-07 23:35:08 【问题描述】:

我遇到了一段代码问题,该代码段应该使用正则表达式从元素中删除所有空格,然后更改文档元素的内容。 所以问题是文本必须位于源代码中的 textarea 标记之间,以便它适用于 Firefox 和 chrome。 函数执行后,我尝试为 Firefox 和 chrome 输入测试语句,但它不再起作用。


所以总结一下..它可以在 Firefox 和 chrome 中工作一次,但前提是文本已经在源代码中。我已经看到它在 Internet Explorer 和 Microsoft Edge 中完美运行。不过我更喜欢 Firefox,所以我非常感谢有人指出问题所在。 这是代码:

function removeSpaces() 
  var str = document.getElementById("contents").innerhtml;
  while (str.search(/\s/img) > -1) 
    var txt = str.replace(/\s/img, "");
    document.getElementById("contents").innerHTML = txt;
    str = document.getElementById("contents").innerHTML;
  
<html>

<body>
  <textarea id="contents" rows="5" cols="20">
    This is a sentence.
    This is another sentence.
    Hello everyone.
    </textarea>

  <p>Click button to remove spaces.</p>

  <button type="button" onclick="removeSpaces()">Try it</button>

  <script>
    /* js function */
  </script>
</body>

</html>

Here is the Tryit Editor for W3Schools

【问题讨论】:

【参考方案1】:

您的问题可能与浏览器的关系不大,而与用户对该字段的修改有关。

textarea 的innerHTML 是它的默认 值。使用value 获取和修改其当前值。

您几乎不应该触摸文本区域的innerHTML。请改用value 属性。

【讨论】:

我应该把它们都放到 .value 中吗? @pditf4me — 我就是这么说的 效果很好。在 Tryit 编辑器中并没有那么多,而是使用新属性打开 html 文件。当它允许我时,我会将其标记为已回答。感谢您的反馈。 :)

以上是关于如何使用javascript替换textarea元素中的文本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript替换textarea中所有行中的子字符串

文本选择和替换在 textarea 中无法正常工作

如何将文本添加到 textArea 而不是替换它

如何用 Javascript 替换和追加

js怎么替换textarea中选定的内容?

如何使用 JavaScript 获取 <textarea > 中的行数?