Javascript 计算天数
javascript代码没有运行。在代码中似乎找不到任何错误。一定是一些小错误。我已经检查了OST的逻辑Javascript 计算天数,javascript,html,Javascript,Html,javascript代码没有运行。在代码中似乎找不到任何错误。一定是一些小错误。我已经检查了OST的逻辑 <html> <head> <title></title> <script> function finddays() { var today = new Date(); var user = new Date(my
<html>
<head>
<title></title>
<script>
function finddays()
{
var today = new Date();
var user = new Date(myform.year.value,myform.month.value,myform.day.value,0,0,0,0);
var msPerDay = 24 * 60 * 60 * 1000;
var daysLeft = Math.abs((user.getTime() - today.getTime())/msPerDay);
daysLeft = Math.round(daysLeft);
retun(daysLeft);
}
</script>
</head>
<body>
<form name="myform">
<input type="number" name="date" value="date" min="1" max="31">
<input type="number" name="month" value="month" min="1" max="12">
<input type="number" name="year" value="year" min="1980" max="2200">
<input type="submit" name="submit" value="SUBMIT" onclick="windows.alert ('Number of days: '+ finddays())">
</form>
</body>
</html>
函数finddays()
{
var today=新日期();
var user=新日期(myform.year.value,myform.month.value,myform.day.value,0,0,0);
var msPerDay=24*60*60*1000;
var daysLeft=Math.abs((user.getTime()-today.getTime())/msPerDay);
daysLeft=数学圆(daysLeft);
retun(daysLeft);
}
这将起作用,只需复制粘贴完整的代码即可
<html>
<head>
<title></title>
<script>
function finddays()
{
var today = new Date();
var user = new Date(myform.year.value,myform.month.value,myform.date.value,0,0,0,0);
var msPerDay = 24 * 60 * 60 * 1000;
var daysLeft = Math.abs((user.getTime() - today.getTime())/msPerDay);
daysLeft = Math.round(daysLeft);
alert('Number of days: '+daysLeft);
}
</script>
</head>
<body>
<form name="myform">
<input type="number" name="date" value="date" min="1" max="31">
<input type="number" name="month" value="month" min="1" max="12">
<input type="number" name="year" value="year" min="1980" max="2200">
<input type="submit" name="submit" value="SUBMIT" onclick="finddays();">
</form>
</body>
</html>
函数finddays()
{
var today=新日期();
var user=新日期(myform.year.value,myform.month.value,myform.Date.value,0,0,0);
var msPerDay=24*60*60*1000;
var daysLeft=Math.abs((user.getTime()-today.getTime())/msPerDay);
daysLeft=数学圆(daysLeft);
警报(“天数:”+daysLeft);
}
您犯了两个错误:
1) 使用myform
而不声明它
2) 使用“提交”按钮而不是“提交”按钮
请将代码更改为以下内容:
HTML:
<form name="myform" id="myform">
<input type="number" name="date" value="date" min="1" max="31"/>
<input type="number" name="month" value="month" min="1" max="12"/>
<input type="number" name="year" value="year" min="1980" max="2200"/>
<input type="button" name="submit" value="SUBMIT" onclick="finddays();"/>
</form>
function finddays()
{
var myform=document.getElementById("myform");
var today = new Date();
var user = new Date(myform.year.value,myform.month.value,myform.date.value,0,0,0,0);
var msPerDay = 24 * 60 * 60 * 1000;
var daysLeft = Math.abs((user.getTime() - today.getTime())/msPerDay);
daysLeft = Math.round(daysLeft);
alert('Number of days: '+daysLeft);
}
@Riya Tilwani您缺少以下内容:
新日期(myform.year.value,myform.month.value,myform.Date.value,0,0,0)
我已经对代码进行了测试,如果您进行了上述更改,它可以正常工作。您有一个输入错误-
return(daysLeft)
另外,只是为了让您知道在理想的JS世界中,您应该调用您的函数findDays()
这是因为Javascript下次尝试使用Findbugs或Chrome Developer tools等工具时,会将camelcasing作为标准。Javascript控制台应该告诉您@Paul fiztgerald还做了什么。它不是windows.alert
。它是窗口。警报。我想知道你怎么没有出错
return(daysLeft);
window.alert