javascript - 从 JavaScript 添加 HTML 会从输入中删除书面文本

标签 javascript html

我正在开发一个网页,用户可以通过该网页添加问题和答案。要添加新问题,用户单击按钮,新的 div 将添加到容器中。


问题是,当添加一个新的文本区域时,其他文本区域中的文本会被删除。


点击按钮前填充文本区域的 View

before_click


点击按钮后的文本区域 View

after_click


代码:

<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title></title>
  <script type="text/javascript">
    const template = '<form class="eachtest">' +
      '<textarea id="question" rows="4" cols="80" placeholder="Sual"></textarea>' +
      '<br><strong> A </strong> ' +
      '<textarea class="answer" rows="4" cols="80" placeholder="Cavab"></textarea><br>' +
      '</form>';

    function on_click() {
      document.querySelector('.container').innerHTML += template;
    }
  </script>
</head>

<body>
  <div class="container"></div>
  <button id="add" type="button" name="button" onclick="on_click()">add</button>
</body>

</html>

最佳答案

innerHTML 重建整个内容。尝试以下操作:

<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title></title>
  <script type="text/javascript">
    const template = '<form class="eachtest"><textarea id="question" rows="4" cols="80" placeholder="Sual"></textarea><br><strong> A </strong>  <textarea class="answer" rows="4" cols="80" placeholder="Cavab"></textarea><br></form>';

    function on_click() {
      document.querySelector('.container').insertAdjacentHTML('beforeend', template);
    }
  </script>
</head>

<body>
  <div class="container">

  </div>
  <button id="add" type="button" name="button" onclick="on_click()">add</button>


</body>

</html>

有关 innerHTML 的更多信息,click here

关于javascript - 从 JavaScript 添加 HTML 会从输入中删除书面文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50695925/

相关文章:

javascript - 选中复选框时启用下拉菜单

html - 是否可以将 td 居中放置在 table 中间

javascript - 当用户在屏幕上拖动/平移时 Canvas 清晰

javascript - node.js/Express在高负载下抛出 'RangeError: Maximum call stack size exceeded'

html - 导航栏中未对齐的元素

javascript - 悬停时自动播放 html 视频?

html - 需要水平和垂直居中对齐图像和文本

javascript - 为什么 let 在 for 循环之后比在 for 循环之前慢得多?

javascript - 正则表达式 - 让这个变得贪婪

javascript - 根据影响 div 中所有类的类更改 $(this) 输入字段颜色