【问题标题】:How to get textarea content properly?如何正确获取 textarea 内容?
【发布时间】:2019-04-30 19:26:49
【问题描述】:

我正在以浏览器扩展的形式进行文本到二进制转换器。我有这个表格:

<textarea id="in"></textarea>
<textarea id="out" readonly></textarea>
<div id="buttons">
  <button id="convert">Convert</button>
  <button id="copy">Copy</button>
</div>

我想将转换后的文本从第一个 textarea 插入到第二个 textarea。这是脚本:

window.onload = function() {
  document.getElementById("convert").addEventListener("click", click());
};

function click() {

  // Getting the first textarea value

  var inputText = document.getElementById("in").value;
  var output = document.getElementById("out");

  // Testing if it's a binary or a text

  if (/^[0-1 ]*$/.test(inputText)) {
    output.value = binToText(inputText);
  }
  else {
    output.value = textToBin(inputText);
  }

}

问题是如果我写入第一个textarea,它的值不会改变,所以value属性返回null。而第二个 textarea 什么也不显示。

我尝试了所有方法,但仍然无法正常工作。我做错了什么?

【问题讨论】:

    标签: javascript html firefox firefox-addon textarea


    【解决方案1】:

    您没有正确绑定事件处理程序。当您单击按钮时,实际上什么都没有发生。

    你必须将函数本身传递给addEventListener,而不是它的返回值:

    document.getElementById("convert").addEventListener("click", click);
    //                                                           ^^^^^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2022-01-20
      • 2015-04-20
      相关资源
      最近更新 更多