返回错误值的Javascript日期
我对Java脚本还不熟悉,在这里我简直是疯了。我想要一个简单的日期计算器,当用户从下拉菜单更改日期框或持续时间时,它会自动更新。我已经研究了几种方法,并找到了一种非常简单的方法,如下所示 如果我有'var interval=4;'作为固定值,间隔是用户输入日期之后的持续时间。但是,如果我将该行更改为“var interval=number;”从选择菜单输入的持续时间,它给了我各种各样的疯狂的日期,它们明显地在间隔之后,我不知道为什么 有人能帮忙吗?提前谢谢返回错误值的Javascript日期,javascript,date,Javascript,Date,我对Java脚本还不熟悉,在这里我简直是疯了。我想要一个简单的日期计算器,当用户从下拉菜单更改日期框或持续时间时,它会自动更新。我已经研究了几种方法,并找到了一种非常简单的方法,如下所示 如果我有'var interval=4;'作为固定值,间隔是用户输入日期之后的持续时间。但是,如果我将该行更改为“var interval=number;”从选择菜单输入的持续时间,它给了我各种各样的疯狂的日期,它们明显地在间隔之后,我不知道为什么 有人能帮忙吗?提前谢谢 <script type="te
<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>
表单字段的值始终是字符串。您必须强制它们是数字:
var number = +document.getElementById('days').value;
或
任何一个都会起作用;这取决于你
如果不执行该转换,则添加步骤如下:
expDate.setDate(startDate.getDate() + interval);
将作为字符串连接执行
var number = parseInt( document.getElementById('days').value, 10 );
expDate.setDate(startDate.getDate() + interval);