2014-10-06 87 views
-1

嘿傢伙,我已經取得了一些代碼來計算閏年,以下是我所得到的:閏年中的JavaScript計算

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<title>Leap Year</title> 
<script type="text/javascript"> 

function calYear (year) { 
    var yr = document.getElementsByName("year"); 
     if(yr % 400 ==0 || (yr % 100 != 0 && yr % 4 == 0)) 
     {window.alert("This is not leap!");} 
     else{window.alert("This is a leap!");} 


} 

</script> 

</head> 

<body> 
<form name="yearForm"> 
<label> 
<input type="text" name="year" > 
</label> 
</form> 

</body> 

</html> 

問題是,當我試圖把警告一些沒」彈出,任何人都有任何想法爲什麼會發生?

+2

你是不是從任何地方調用你'calYear'功能。 – ps2goat 2014-10-06 19:01:42

+0

這裏沒有什麼能夠調用你的函數。您需要在輸入字段中添加一個「onchange」屬性。 – 2014-10-06 19:02:12

+0

'getElementsByName'返回一個集合,所以你必須指定 – tymeJV 2014-10-06 19:02:18

回答

1

首先,您需要調用該函數,因此我添加了onchange屬性。 其次,您需要獲得文本輸入的實際值,所以我添加了.value。 另外,我使用了一個id而不是名字。

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Leap Year</title> 
     <script type="text/javascript"> 
      function calYear(year) { 
       console.log('calYear'); 
       var yr = document.getElementById("year").value; 
       if(yr % 400 === 0 || (yr % 100 !== 0 && yr % 4 === 0)) 
       { 
        window.alert("This is not leap!"); 
       } 
       else { 
        window.alert("This is a leap!"); 
       } 
      } 
     </script> 
    </head> 
    <body> 
     <form id="yearForm"> 
      <input type="text" id="year" onchange="calYear()"> 
     </form> 
    </body> 
</html> 
+0

有沒有辦法在onchange旁邊做? – user2791881 2014-10-06 19:26:30

+0

還有其他的東西嗎?我改變了你告訴我在我的老,但仍然沒有工作,我使用你的代碼,但工作得很好,我你錯過了一些興.... – user2791881 2014-10-06 19:55:48

+0

我也改變==爲===和! = to!== – aharris88 2014-10-06 22:19:45