单击事件触发器而不单击按钮

时间:2017-10-14 15:52:10

标签: javascript html click electron addeventlistener

嗨,我是JS的新手,可以使用一些帮助。

所以我基本上试图在提交按钮点击事件中将一些文本从textarea发送到一个名为inputFromText的函数,但不知何故该函数在点击之前被触发(当通过电子打开html窗口时)当你点击按钮后没有任何反应。

如何防止这种情况发生?

<body>
  <form>
    <div class="form-group">
      <textarea class="form-control" rows="5" id="txa_trainingText"></textarea>
      <button type="submit" class="btn btn-default" id="btn_submit">Submit</button>
    </div>
  </form>
  <script>
    const trainingText = document.getElementById("txa_trainingText").value;
    document.getElementById("btn_submit").addEventListener("click", inputFromText(trainingText));
    function inputFromText(text) {
      ...
    } 
  </script>
</body>

我发现当使用没有text参数的函数时,可以通过编写来解决问题:

function inputFromText(e) {
  e.preventDefault();
  ...
}

2 个答案:

答案 0 :(得分:0)

我认为你需要将click事件处理程序包装为一个函数,因此行将显示为:

document.getElementById("btn_submit").addEventListener("click", function() { inputFromText(trainingText)});

答案 1 :(得分:0)

只需将按钮类型=“提交”更改为按钮类型=“按钮”

<button type="button" class="btn btn-default" id="btn_submit">Submit</button>