我是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>
答案 0 :(得分:3)
您需要获取比较功能中输入框的值。
以下是如何操作:
<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;
答案 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
}