javascript - 基于两个输入的输出
问题描述
我正在尝试制作这个“我应该参加这个测试还是那个测试”计算器。当我输入两个值时没有任何输出,所以我正在寻找我的代码中的错误。谢谢!
document.getElementById("test2score").onkeyup = function() {
WhichTestFunction()
};
function WhichTestFunction() {
var t1 = document.getElementById('test1score').value;
var t2 = document.getElementById('test2score').value;
if (t1 == 9) && (t2 < 120) {
score = "Take Test 1";
}
else if (t1 == 9) && (t2 > 140) {
score = "Take Test 2";
}
else if (act == 9) && (sat >= 120) && (sat <= 140) {
score = "Toss up. Take the test you like better based on format and content.";
}
document.getElementById("testscore").innerHTML = score;
}
<section id="" class="">
<div class="container text-center">
<div class="col-md-6 col-md-offset-1">
<h2><b>Which Test To Take?</b></h2>
<br>
<div class="col-md-4 col-md-offset-1">
<h6><b>Input Test 1 Score</b></h6>
<input type="number" id="test1score">
</div>
<div class="col-md-4 col-md-offset-1">
<h6><b>Input Test 2 Score</b></h6>
<input type="number" id="test2score">
</div>
<p id="testscore"></p>
</div>
</div>
</section>
解决方案
首先,您需要if
用外括号括起您的语句
if ((act == 9) && (sat >= 120) && (sat <= 140)) {...}
然后你有几个未声明的变量导致异常
var score, sat, act;
注 1a:我不知道这 3 个变量是否应该在全局范围内声明/可用。
注意 1b:由于不知道它们实际上应该是什么,我注释掉了最后一条if
语句,以便代码将在此演示示例中运行。
堆栈片段
<section id="" class="">
<div class="container text-center">
<div class="col-md-6 col-md-offset-1">
<h2><b>Which Test To Take?</b></h2>
<div class="col-md-4 col-md-offset-1">
<h6><b>Input Test 1 Score</b></h6>
<input type="number" id="test1score">
</div>
<div class="col-md-4 col-md-offset-1">
<h6><b>Input Test 2 Score</b></h6>
<input type="number" id="test2score">
</div>
<p id="testscore"></p>
</div>
</div>
</section>
<script>
document.getElementById("test2score").onkeyup = function() {WhichTestFunction()};
var score, sat, act;
function WhichTestFunction() {
var t1 = document.getElementById('test1score').value;
var t2 = document.getElementById('test2score').value;
if ((t1 == 9) && (t2 < 120)) {
score = "Take Test 1";
}
else if ((t1 == 9) && (t2 > 140)) {
score = "Take Test 2";
}
/*
else if ((act == 9) && (sat >= 120) && (sat <= 140)) {
score = "Toss up. Take the test you like better based on format and content.";
}
*/
document.getElementById("testscore").innerHTML = score;
}
</script>
推荐阅读
- sql-server - SQL Server:row_number 分区不重置计数器
- python - 使用 defaultdict 包在 PyCharm 中不起作用时,模块对象不可调用
- css - 如何更改材质ui评级星星的边框颜色
- c# - 将参数传递给 AJAX 以绑定 DataTable 不起作用
- java - Corda 中 protobuf 对象的反序列化
- kubernetes - Kubernetes 秘密以编程方式更新
- c# - 解析逻辑表达式并创建场景
- c# - 参数未从 Ajax 调用中填充(尝试了一切)
- haskell - 为什么 IsList 需要 toList?
- c# - 调用 System.Diagnostics.Process.Start() 真的有问题吗?