0

I'm new to javascript and I was making a simple program to reply but the if statement doesn't work. Here's my code :

var myInput = document.getElementById('myInput');
var myBtn = document.getElementById('btn');
var value = document.getElementById('myInput').value;
var answer = document.getElementById('answer');
var question = "Hi";

function message() {
  if ( value == question) {
   answer.innerHTML = "Hi, how can i help you?";
  } else {
   answer.innerHTML = "Hi ...";
  }
}

and here's the html part:

<input id="myInput" type="text">
<button id="myBtn" type="button" onclick="message()">Send!</button>
<p id="answer"></p>
3
  • 2
    I assure you ifs work. Your data must be something other than what you expect. What debugging have you done? Commented Aug 26, 2017 at 19:28
  • 1
    It takes value only once from the input, at the start of the program, and then never updates even if you enter something into the input… Commented Aug 26, 2017 at 19:29
  • how i can update the value everytime the used type ? Commented Aug 26, 2017 at 19:32

2 Answers 2

1

The problem is that you're fetching the value before you have a chance to fill it in.

Instead, fetch it inside the message function.

var myInput = document.getElementById('myInput');
var myBtn = document.getElementById('btn');
var answer = document.getElementById('answer');
var question = "Hi";

function message() {
  var value = document.getElementById('myInput').value;
  if (value == question) {
    answer.innerHTML = "Hi, how can i help you?";
  } else {
    answer.innerHTML = "Hi ...";
  }
}
<input id="myInput" type="text">
<button id="myBtn" type="button" onclick="message()">Send!</button>
<p id="answer"></p>

Sign up to request clarification or add additional context in comments.

Comments

0

Place your var value = document.getElementById('myInput').value; inside the button click function

DEMO

var myInput = document.getElementById('myInput');
var myBtn = document.getElementById('btn');

var answer = document.getElementById('answer');
var question = "Hi";

function message() {
   var value = document.getElementById('myInput').value;
  console.log(value);
  console.log(question);
  if (value === question) {
   answer.innerHTML = "Hi, how can i help you?";
  } else {
   answer.innerHTML = "Hi ...";
  }
}
<input id="myInput" type="text">
<button id="myBtn" type="button" onclick="message()">Send!</button>
<p id="answer"></p>

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.