2016-03-03 51 views
0

我是新的JavaScript和在java腳本中使用相同的邏輯和邏輯運算符,但沒有得到正確的輸出,如果其他條件在JavaScript它給所有條件相同的輸出沒有得到正確的輸出,如果其他條件在Java腳本

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

+1

多個問題,以比較字符串(不是數字),以甚至創建輸入之前讀值。使用瀏覽器的開發人員工具。 – epascarello

回答

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>

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>

+0

我看到一些方括號... – epascarello

+0

哎呀,因爲我複製並粘貼問題,並假定他們使用parentisis –

0

變量x和y的功能之外聲明所以當頁面運行他們第一次被初始化。所以兩者都有空值。

你必須將它們添加內部功能就像從語法錯誤

function compare() { 

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