Как сделать форму вопроса с простым ответом на js? Я пытался
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8"/>
<script>
function cipher1(){
var val = "theanswer";
if (val == (document.getElementById("cipher1").value)){
alert("correct");
}
}
</script>
</head>
<body id = "bod">
<div id = "cipher1"style = "display:none;">
<input id = "cipher1"type = "text" value = "write the answer here"/>
<input type = "button" class = "but"value = "answercheck"onclick = "cipher1()"/>
</div>
</body>
</html>
Но не работает. пожалуйста помоги!!!
@Vasyl Zhuryk Спасибо!
getElementById("cipher1") выберет первый на странице (это div), а у div нет .value, поэтому он всегда будет undefined. Поэтому id должен быть уникальным.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Сначала попробуйте изменить два дубликата ID
div id = "**cipher1**"style = "display:none;">
<input id = "**cipher1**"type = "text" value = "write the answer here"/>
Затем удалите стиль отображения из родительского div
Я не уверен, что id = "**cipher1**" - действительный идентификатор, и вы ничего не исправляли, это все еще один и тот же идентификатор дважды. Если предполагается, что это подсказка, вам лучше указать в своем ответе какой-нибудь правильный код, например id = "cipher1" и id = "cipher2".
Ваш идентификатор должен быть уникальным. В вашем коде вы связываете cipher1 с div и полем ввода. Вы можете изменить Id текстового поля на cipher2. См. Код ниже:
function cipher1(){
var val = "theanswer";
if (val == (document.getElementById("cipher2").value)){
alert("correct");
}
} <div id = "cipher1">
<input id = "cipher2"type = "text" value = "write the answer here"/>
<input type = "button" class = "but"value = "answercheck"onclick = "cipher1()"/>
</div>У вас есть повторяющийся идентификатор на странице (у вас может быть только один идентификатор на странице) cipher1
у вас есть повторяющийся идентификатор на странице (у вас может быть только один идентификатор на странице)
cipher1