在java脚本中没有得到if else条件

时间:2016-03-03 12:57:47

标签: javascript html

我是javascript中的新手,并且在java脚本中使用相同的逻辑和逻辑运算符但是没有得到正确的输出if if条件在javascript中它在所有条件下给出相同的输出

<!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>

3 个答案:

答案 0 :(得分:3)

您需要获取比较功能中输入框的值。

以下是如何操作:

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题是您在文档(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>

答案 2 :(得分:0)

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

你必须在像

这样的功能中添加它们
function compare() {

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