首页 > 解决方案 > 基于两个输入的输出

问题描述

我正在尝试制作这个“我应该参加这个测试还是那个测试”计算器。当我输入两个值时没有任何输出,所以我正在寻找我的代码中的错误。谢谢!

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>

标签: javascriptoutput

解决方案


首先,您需要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>


推荐阅读