javascript - 如何让 JS 函数从 HTML 按钮返回到标题?
问题描述
我正在为我的科学博览会制作一个乘法练习网站,我需要一些帮助。我希望网站显示用户输入与正确答案相比是正确还是错误。我想我对函数的编码是正确的,我知道用提交按钮来调用它。但是,我在访问该函数的返回时遇到了一些麻烦。函数返回到哪里以及如何访问它?
//get random integer
var num1 = Math.floor(Math.random() * (14 - 7 + 1) ) + 7;
var num2 = Math.floor(Math.random() * (14 - 7 + 1) ) + 7;
var userAnswer = 0
document.getElementById('num1').innerHTML = num1;
document.getElementById('num2').innerHTML = num2;
function validateAnswer(num1, num2) {
var realAnswer = num1*num2;
var userAnswer = document.getElementById('userAnswer').value;
if (realAnswer == userAnswer){
return 'correct';
}
else {
return 'incorrect';
}
}
<h1>Multiplication Practice</h1>
<div class="equation">
<h2 id="num1" class="num1multiply"></h2>
<span class="multiplicationSign">×</span>
<h2 id="num2" class="num2multiply"></h2>
</div class="equation">
<br>
<input type="integer" id="userAnswer">
<button onclick="validateAnswer(num1, num2);" id="submit">Submit</button>
<br>
<h2 id="validateAnswer"></h2>
<br>
<br>
<a class="back" href="main.html">back</a>
解决方案
由于您是validateAnswer()
从 onclick 调用该函数,因此我建议您不要返回任何内容。JavaScript 函数不必有返回值。它只能执行一个动作。在这种情况下,我建议更新函数以将结果设置到文档中。
function validateAnswer(num1, num2) {
var realAnswer = num1*num2;
var userAnswer = document.getElementById('userAnswer').value;
var result;
if (realAnswer == userAnswer){
result = 'correct';
}
else {
result = 'incorrect';
}
document.getElementById('validateAnswer').innerHTML = result;
}
推荐阅读
- reactjs - 在 React-admin 列表视图中使用输入
- jsp - 找到一个带有 GET 参数的 .jsp 网站的 URL,其中输入的编码可能类似于 base64
- laravel - 未找到类别
- c# - iis 上的 web api 主机接收 zip 问题
- sql - 雪花为每条记录添加具有唯一随机值的新列
- javascript - 使用 JQuery 定位多个类时,必须使用“each()”吗?最佳实践
- python - 如何拆分 CSV 文件中的值
- image - Flutter - 图像到字符串base64?
- arrays - 按姓氏对字符串进行排序:Ruby
- audiokit - 带有 AKMIDISampler (sf2) 的 AKAppleSequencer 在 iO14 中一次只播放一个音符