Я новичок в javascript и борюсь с моим окончательным проектом для класса. По сути, мы делаем онлайн-викторину. Это математическая викторина, и я настроил формы с полями ввода текста для ответа, и эти формы находятся в контейнерах div. Я пытаюсь создать функцию, которая при нажатии кнопки отправки будет извлекать значение пользовательского ввода и использовать это значение для замены формы в качестве внутреннего HTML-кода div. Таким образом, ответ будет зафиксирован и не может быть изменен после того, как пользователь отправит свой ответ. Одним из ключевых шагов этого является то, что цифры ответа вводятся индивидуально - поле для столбца десятков, поле для единиц. Я пытаюсь вытащить их по отдельности, объединить их, а затем сравнить с рассчитанным фактическим ответом. Фактический ответ заменит кнопку отправки, окрашенную в цвет, чтобы отразить, был ли пользователь прав или нет. Вот что у меня есть:
var firstNumber = Math.floor((Math.random()*50)+1);
var secondNumber = Math.floor((Math.random()*50)+1);
var generate = function(){
document.getElementById("addends1").innerHTML=firstNumber;
document.getElementById("addends2").innerHTML=secondNumber;
};
var evaluate = function(){
var result = firstNumber+secondNumber;
document.getElementById("button").innerHTML=result;
var tens = document.getElementById("result10s").value;
var ones = document.getElementById("result1s").value;
var entry = tens + ones;
document.getElementById("resultContainer").innerHTML=entry;
var cO = document.getElementById("cO").value;
document.getElementById("carryOverContainer").innerHTML=cO;
var answer = parseFloat(entry);
if (answer===result) {
document.getElementbyID("resultContainer").style.color="#b2f078";
} else {
document.getElementbyID("resultContainer").style.color="#e87c73";
}
};
document.getElementById("button").onclick=evaluate();
(первая функция вызывается в html-теге, onload для изображения кнопки) Спасибо! Изменить: моя проблема в том, что мой код вообще ничего не делает. Я не знаю, связано ли это с тем, как я вызываю функцию «оценить», или с самой функцией. Я хочу заменить все поля формы на их введенные значения, а затем также заменить кнопку на правильный ответ на задачу добавления. Вот мой html:
<body>
<div id="carryOverContainer">
<form>
<input type="text" name="carryOver" id="cO"/>
</form>
</div>
<div id="addends1" class="addends"> </div>
<div id="addends2" class="addends"> </div>
<div id="resultContainer">
<form>
<input type="text" id="result10s" class="result">
<input type="text" id="result1s" class="result">
</form>
</div>
<div id="button" onclick=evaluate();>
<img src="next.png" alt="next" onload="generate();"/>
</div>
</body>
Я подозреваю, что проблема может заключаться в том, как я пытаюсь извлечь и сохранить значения из полей формы?