如何使用javascript替换textarea元素中的文本?

时间:2018-01-29 09:54:14

标签: javascript html css regex function

我遇到了一段代码,它应该使用正则表达式从元素中删除所有空格,然后更改文档元素的内容。

所以问题是文本必须位于源代码中的textarea标签之间,以便它适用于Firefox和chrome。

函数执行完后,我尝试为Firefox和chrome键入一个测试语句,但它不再起作用

<小时/> 总而言之..在Firefox和Chrome中可以工作一次,但前提是文本已经在源代码中了。我已经看到它在Internet Explorer和Microsoft边缘完美运行。我更喜欢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 个答案:

答案 0 :(得分:0)

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

textarea的comments默认值。使用innerHTML获取并修改其当前值。

你几乎不应该触摸textarea的value。请改用innerHTML属性。