如果 java 脚本中的其他条件,则无法正确输出

Not getting right out put by if else condition in java script

本文关键字:输出 条件 脚本 java 其他 如果      更新时间:2023-09-26

我是JavaScript中的新手,并且在java脚本中使用相同的逻辑和逻辑运算符,但是如果javascript中的else条件无法获得正确的输出,则在所有条件下都提供相同的输出

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script>
var x = document.getElementById["a"].value;
var y = document.getElementById["b"].value;
function compare()
{
  if(x>y) {
    alert ("x is greater");
  } else if(x == y) {
    alert ("both are equals");
  } else {
    alert("y is greater")
  }
}
</script>
</head>
<body>
<form onsubmit="compare()" >
x---><input type="text" id="a"><br>
y---><input type="text" id="b"><br>
<input type="submit" name="submit" >
</form>
</body>
</html>

您需要在比较函数中获取输入框的值。

具体

操作方法如下:

<script>
  function compare() {
    var x = document.getElementById("a").value;
    var y = document.getElementById("b").value;
    if (x > y) {
      alert("x is greater");
    } else if (x == y) {
      alert("both are equals");
    } else {
      alert("y is greater")
    }
  }
</script>
<form onsubmit="compare()">
  x--->
  <input type="text" id="a">
  <br>y--->
  <input type="text" id="b">
  <br>
  <input type="submit" name="submit">
</form>

变量 x 和 y 在函数外部声明,因此它们在页面首次运行时初始化。 所以两者都有空值。

您必须将它们添加到函数中,例如

function compare() {
   var x = document.getElementById("a").value;
   var y = document.getElementById("b").value;
   //Check your conditions here
}

问题是您在文档 (DOM) 准备就绪之前检索值。要解决此问题,请从compare函数中检索值。

function compare() {
  var x = parseFloat(document.getElementById("a").value);
  var y = parseFloat(document.getElementById("b").value);
  if (x > y)
    alert("x is greater");
  else if (x == y)
    alert("both are equals");
  else
    alert("y is greater");
}
<form onsubmit="compare()">
  x---><input type="text" id="a"><br>
  y---><input type="text" id="b"><br>
  <input type="submit" name="submit">
</form>