用javascript计算闰年

用javascript计算闰年,javascript,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.getEl

嘿,伙计们,我已经编写了一些代码来计算闰年,下面是我得到的:

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

闰年
功能(年){
var yr=document.getElementsByName(“年”);
如果(yr%400==0 | |(yr%100!=0&&yr%4==0))
{window.alert(“这不是leap!”);}
else{window.alert(“这是一次飞跃!”);}
}

问题是,当我试图在警报中输入一个数字时,没有弹出,有人知道为什么会出现这种情况吗?

首先,您需要调用该函数,因此我添加了一个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>

闰年
功能(年){
console.log('calYear');
var yr=document.getElementById(“年”).值;
如果(yr%400==0 | |(yr%100!==0&&yr%4==0))
{
window.alert(“这不是leap!”);
}
否则{
警告(“这是一次飞跃!”);
}
}

您没有从任何地方调用您的
calYear
函数。这里没有调用您的函数的内容。您需要在输入字段中添加一个
onchange
属性。
getElementsByName
返回一个集合,因此您必须指定索引
yr%400
没有意义
yr
是DOM节点的集合,而不是一个数字。除了onchange之外,还有什么方法可以做到这一点吗?您还有其他更改吗?我更改了你在我的旧版本中告诉我的mis,但仍然不起作用,我使用了你的代码,但效果很好,我认为我错过了一些东西……我还将==更改为===和!=去==您可以使用onkeyup或onblur代替onchange