如何正确获取textarea内容?

时间:2018-11-28 19:49:43

标签: javascript html firefox firefox-addon textarea

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

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

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

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);
  }

}

问题是,如果我写入第一个文本区域,则其值不会更改,因此value属性将返回null。第二个文本区域什么也没显示。

我尝试了一切,但仍然无法正常工作。我在做什么错了?

1 个答案:

答案 0 :(得分:2)

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

您必须将函数本身传递给addEventListener,而不是其返回值:

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