Было несколько вещей, которые были неверны, но в целом ваш код был почти на месте.
Прежде всего искомый «внутренний текст» на самом деле является «внутренним текстом».
Во-вторых, элементы ввода не имеют innerText. Вместо этого они имеют атрибут «значение».
В-третьих, чтобы включить JavaScript, вы должны использовать тег сценария вместо тега ссылки.
Кроме того, я изменил привязку вашей функции и сделал это в javascript, используя .addEventListener ("click", ...) вместо вашего HTML. Но это в значительной степени предпочтение. В большинстве случаев это приведет к меньшему количеству ошибок, поскольку, если скрипт вообще не загружается, он не будет пытаться найти указанную функцию.
HTML
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>My Webpage!</title>
</head>
<body>
<br><br><br><br>
<input type="text" name="inputField" id="answer" placeholder="Enter the answer..." required>
<button id="submit" type="button" name="button">Submit</button>
<p id="demo"></p>
<script type="text/javascript" src="./script.js">
</body>
</html>
Сценарий
function getInput() {
return document.getElementById("answer").value;
}
var submitButton = document.getElementById("submit").addEventListener("click", mySubmit);
function mySubmit() {
var text;
var database = [
{answer: "Apple", clue: "Steve Jobs"},
{answer: "Mango", clue: "Fruit"}
];
for(var i=0;i<database.length;i++){
if(database[i].answer === getInput()){
text = database[i].clue;
console.log(text);
}
}
if(!text) {
text = "The answer is incorrect";
}
document.getElementById("demo").innerText = text;
}