簡體   English   中英

在一個表單中將兩個事件監聽器添加到兩個提交按鈕

[英]Add two eventlisteners to two submit buttons in one form

我有一個帶有 2 個提交按鈕的表單,對於每個表單,我想在單擊時添加一個不同的事件偵聽器,並為每個表單執行不同的操作。 但第二個不工作,function 不火。 我是 JS 的新手,所以歡迎任何幫助。 提前致謝。 我的代碼是:HTML

<form id="searching" action="javascript:void(0);">
              <input class="form-class w-50" type="text" id="search" placeholder="Input your search keyword" name="search">
              <br><br>
              <input type="submit" class="btn btn-warning" id="submit" value="Weather" name="weather">
              <input type="submit" class="btn btn-warning" id="submit2" value="Forecast!" name="forecast">
</form>

JS

const submit = document.getElementById('submit');
submit.addEventListener('click', event.getSearch.bind(this,'search'));

const submit2 = document.getElementById('submit2');
submit2.addEventListener('click', event.getForecast.bind(this));

您指定的行為原則上可以正常工作,因此可能只是確保您要調用的 function 實際上正在被調用(並在適當的上下文中調用。)

(由於您調用自定義函數而不是實際提交表單,您還可以考慮將submit輸入更改為普通按鈕,甚至可能完全省略form元素。)

 const submit = document.getElementById('submit'), submit2 = document.getElementById('submit2'); submit.addEventListener('click', getSearch); submit2.addEventListener('click', getForecast); function getSearch(){ console.log("searching..."); } function getForecast(){ console.log("forecasting..."); }
 <form id="searching" action="javascript:void(0);"> <label for="search">Search </label><input id="search"/><br><br> <input type="submit" id="submit" value="Weather"/> <input type="submit" id="submit2" value="Forecast!"/> </form>

暫無
暫無

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

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