因此,我试图在Javascript中制作日期计算器。我对Javascript相当陌生,所以我觉得我有点深入潜水,但这是我想要完成的事情的概述。
这是一个小伙伴:http://jsfiddle.net/b52hamw7/2/
我首先在HTML格式中创建了一个格式如下:
<form>
<p class="instructions">I need my items by:</p><br>
<input type="date" name="date" value="" id="date"/>
<input type="button" value="Submit" id="submit">
</form>
<p>Be sure to order by:</p><p id="dateoutput"></p>
这里的想法是,用户将在表单中输入日期,然后javascript代码将添加10天,并输出他们需要订购的日期,格式化为日期。
这是我到目前为止的剧本,我知道它并不接近工作,但我认为这是一个开始:
<script>
document.getElementsByName("submit").onclick = function() {
var dateIn = document.getElementsById("date").value;
var addDays = 10;
var dateOut = dateIn + addDays;
};
document.getElementById("dateoutput").innerHTML = dateOut;
</script>
我非常感谢你能给我这个方向的任何方向。提前谢谢!
答案 0 :(得分:0)
您的代码中存在多个拼写错误和问题。我将在下面列出其中一些,以帮助您走上正确的轨道。
1)您的专家document.getElementsByName("submit").onclick....
正在尝试搜索您的HTML中没有name="submit"
的元素。
2)下一行var dateIn = document.getElementsById("date").value;
有拼写错误,应该是:document.getElementById("date").value
。你有一个额外的's'。
3)行document.getElementsById("dateoutput").innerHTML = dateOut;
有3个问题。首先,你有额外的's',如上面的第2点。其次,您试图将innerHTML分配给您已丢失范围的变量值。最后,它不会在click函数的上下文中执行,并且在解析时立即执行,而不是在click事件发生时执行。因此,需要在onclick处理函数中移动它。
4)关于添加日期的日期。请查看Add days to JavaScript Date。现在,您正在尝试将10添加到您从input元素中提取的字符串值,该值简单地将字符串'10'连接到日期字符串的末尾。您需要将其转换为日期对象,然后添加10天。这在提供的链接中的代码示例中进行了解释