簡體   English   中英

單擊事件觸發器,無需單擊按鈕

[英]click event triggers without button click

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

所以我基本上是試圖在提交按鈕單擊事件inputFromText一些文本從文本區域發送到名為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>

我發現使用不帶文本參數的函數可以通過編寫以下代碼解決問題:

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

我相信您需要將click事件處理程序包裝為一個函數,因此該行應顯示為:

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

只需將按鈕type =“ submit”更改為按鈕type =“ button”

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM