我有一小段代码,我想在其中完成三件事:
我遇到的麻烦是,单击按钮时,我得到的只是NaN。我现在不确定如何进行。
<li><label>Enter Your Birthday</label></li>
<li><input type="date" name="field1" id="field1"></li>
<li><label for="date">Current Date</label></li>
<script id="curDate">
var d = new Date();
document.write(d);
var bDay = new Date(document.quiz.field1);
var eTime = d - bDay;
function calcDate(eTime) {
document.write(eTime);
}
</script>
<li><input type="button" value="Click" onclick="calcDate(eTime)"></li>
答案 0 :(得分:2)
您可以使用document.getElementById('field1').value
来获取input
的值,并将其传递给new Date
以创建日期对象。然后,您可以获取与今天之间的差值,以获取经过的时间。
var diff = Math.abs(new Date() - new Date(document.getElementById('field1').value));
答案 1 :(得分:0)
您的代码有很多错误-尝试一下(我仅升级您的代码即可使用-看起来仍然很丑):
<li><label>Enter Your Birthday</label></li>
<li><input type="date" name="field1" class="field1"></li>
<li><label for="date">Current Date</label></li>
<li><span class="dateCalc">x</span></li>
<li><input type="button" value="Click" onclick="calcDate()"></li>
<script >
var d = new Date();
document.write(d);
window.calcDate = function calcDate() // we bind to window.calcDate for fiddle
{
var bDay = new Date(document.querySelector(".field1").value);
var eTime = d - bDay; // diffrence in miliseconds (can be mins if birth date is from future)
document.querySelector(".dateCalc").innerHTML = eTime+ ' [ms]';
}
</script>
工作example。