2

How do I get multiple input types to use keypress enter? Here's my code.

//keypress enter
var input = document.getElementById("cost");
input.addEventListener("keyup", function(event) {
  if (event.keyCode === 13) {
    event.preventDefault();
    document.getElementById("calc").click();
  }
});

As you can see, this code can only pull 1 element at a time.

Foxseiz
  • 290
  • 1
  • 6
  • 20

2 Answers2

3

Use querySelectorAll to select all the input type elements and then apply a loop to assign event listeners to them:

var inputs = document.querySelectorAll("input");
for (var i = 0; i < inputs.length; i++) {
  inputs[i].addEventListener("keyup", function(event) {
    if (event.keyCode === 13) {
      event.preventDefault();
      document.getElementById("calc").click();
    }
  });
}
Ankita Kuchhadiya
  • 1,255
  • 6
  • 16
2

you just need to select all the input element using getElementsByClassName and apply the event listener to all of them. J

var input = document.getElementsByClassName("cost");
Array.from(input).forEach(function (element) {
 element.addEventListener("keyup", function (event) {

  if (event.keyCode === 13) {
   event.preventDefault();
   console.log("input changed")
  }
 });
});
<input class="cost"/>
<input class="cost"/>