Javascript日期返回错误的值
Javascript date returning wrong value
我是Java脚本的新手,在这里简直是撕我的头发。我想要一个简单的日期计算器,当用户从下拉菜单更改日期框或持续时间时,它会自动更新。我已经研究了几种方法,并找到了一种看起来相当简单的方法,如下所示。
如果我有'var interval = 4;'作为固定值(interval是用户输入日期后的持续时间),它可以完美地工作。但是,如果我将这一行更改为"var interval = number;"(从选择菜单输入的持续时间),它会给我各种疯狂的日期(日期明显在间隔之后),我不知道为什么
有人能帮忙吗?提前感谢
<script type="text/javascript">
function setExpDate(){
var formDate = document.getElementById('startDate').value;
var number = document.getElementById('days').value;
// set number of days to add
var interval = 4;
var startDate = new Date(Date.parse(formDate));
var expDate = startDate;
expDate.setDate(startDate.getDate() + interval);
document.getElementById('total').innerHTML = expDate;
document.getElementById('daysdays').innerHTML = interval;
};
</script>
</head>
<body>
<input type="text" size="10" maxlength="10" id="startDate" name="startDate" onblur="setExpDate(this.value)">
<select name="days" id="days" onchange="setExpDate(this.value)">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<div id="total"></div> <br/><div id="daysdays"></div>
</body>
</html>
表单字段的值总是字符串。你必须强制它们为数字:
var number = +document.getElementById('days').value;
或
var number = parseInt( document.getElementById('days').value, 10 );
(两者都可以;由你决定。
如果您不执行该转换,那么这里的附加步骤:
expDate.setDate(startDate.getDate() + interval);
将作为字符串连接执行。
相关文章:
- CKFinder 3为所选文件返回错误的URL
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 用于查询错误转换的角度资源返回列表
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- WebView返回错误的window.innerHeight
- Javascript表单验证:表单在错误返回时提交:
- 谷歌地图上的常量错误返回maxZoomService.getMaxZoomAtLatLng()
- Jquery .ajax POST 函数错误返回 asp.net MVC.
- happy 不会从 Boom 错误返回数据属性
- 操作结果在 ajax 调用中作为错误返回
- 我得到了错误“返回绑定”.PBKDF2(密码、盐、迭代、keylen、回调);^ TypeError: Not a bu
- 节点解析错误:返回时意外的令牌
- Bluebird承诺库的结果作为错误返回
- Jquery, php ajax post 500内部服务器错误返回
- 未定义的索引问题和错误返回
- 未从json文件中导入数据:Unhandled rejection错误返回
- Jquery错误返回bool值
- 表单提交后重新加载页面,尽管没有验证和错误返回
- 使用POST方法的AJAX函数会创建以下错误.错误:返回状态码414请求uri太大