2014-10-06 88 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