我在表单中手动给出两个日期,之后还有一个空框,日期差异应该使用java脚本动态计算第三个框中的天数 对我来说,当我单击“提交”按钮并使用“提交”按钮属性时,它可以工作,但我希望它应该在第二个框中输入第二个日期后进行计算,并且应该显示在第三个框中,这是我的代码...... 请在这里帮助我..
脚本
function dateDiff() {
date1 = new Date();
date2 = new Date();
diff = new Date();
date1temp = new Date(dateform.firstdate.value);
date1.setTime(date1temp.getTime());
date2temp = new Date(dateform.seconddate.value);
date2.setTime(date2temp.getTime());
diff.setTime(Math.abs(date1.getTime() - date2.getTime()));
timediff = diff.getTime();
days = Math.floor(timediff / (1000 * 60 * 60 * 24));
dateform.difference.value = days;
return false;
}
html
<form>
<fieldset>
<label for="Enter leave starting date">Enter leave starting date
<input type="text" name="firstdate" />
</label>
<label for="Enter leave ending date">Enter leave ending date
<input type="text" name="seconddate" onkeyup="return dateDiff();" />
</label>
<label>
Date Difference (in days): <input type=text name=difference>
</label>
</fieldset>
</form>
最佳答案
实际上,代码可以工作......您唯一需要的就是为表单提供您在脚本中使用的名称
<form name="dateform">
....我在你的 fiddle 上测试了它,它就像一个魅力:http://jsfiddle.net/byJKg/5/ ...很难,您可能想检查 datediff 是否不是 NaN
if(!isNaN(days)){
dateform.difference.value = days;
}
[编辑] ...我刚刚看到这不是您的 fiddle ...而是 Felix Lahmer 发布的 fiddle ,以及您的源代码
关于javascript - 如何使用javascript计算html中的日期差异而不点击提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24446724/