<!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>
问题是当我试图在警报中输入一个没有弹出的号码时,任何人都知道为什么会发生这种情况?
答案 0 :(得分: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>