Home > Software engineering >  JavaScript, get the value of input field on entry
JavaScript, get the value of input field on entry

Time:06-10

I have a HTML page with an input field that the user enters a value into.

<div  id="cbWrapper2">
    <input type="number" name="message_average"  id="id_message_average">
</div>

I'm trying to use JavaScript to get the value entered by the user so that I can then compare the value against another value and write out the result, but I'm not sure how I collect the initial value being entered.

<script>
var value = document.getElementById("id_message_average").value;
console.log(value);
</script>

I'm just trying to write the value out for now so that I can tell it's working, do I need to put this into some kind of event listener maybe when the user clicks onto another input field, or is there a way to have the script fire when a character is added?

CodePudding user response:

There are indeed events to use to listen to changes in the input. One of them is called input, and you can use it like below.

The input event fires when the value of an <input>, <select>, or <textarea> element has been changed. More on MDN's doc.

var input = document.getElementById("id_message_average");
input.addEventListener("input", ()=>{
  console.log(input.value)
});
<div  id="cbWrapper2">
    <input type="number" name="message_average"  id="id_message_average">
</div>

CodePudding user response:

For that you have add event listener.

let userInput = document.getElementById("id_message_average");
userInput.addEventListener("input", (e)=> {
console.log(e.input.value)
})'

CodePudding user response:

You can use onClick function. If you choose onClick then you must need a button. Here is the example,

<form>
  <div  id="cbWrapper2">
    <input type="number" name="message_average"  id="id_message_average">
  </div>
  <button type='button' onclick="getInputValue()">Click me</button>
</form>

<script>
function getInputValue() {
  var value = document.getElementById("id_message_average").value;
  console.log(value);
}
</script>
  • Related