开发者问题收集

Javascript Split() 函数不会返回值

2014-03-18
136

我对 Java 脚本还很陌生,所以请耐心等待。我正在尝试编写一个脚本,该脚本将返回一个日期,并添加用户选择的天数。它在返回值(在变量 expDate 中)方面工作正常,但是该值采用长格式(即“Wed Jan 02 2013 00:00:00 GMT+0800 (HKT)”)。当我尝试使用 split 将其分解为不同的部分时,我遇到了麻烦。现在我的输出只是空白。

任何帮助都将不胜感激!

Javascript

<script type="text/javascript">
function setExpDate(){

var formDate = document.getElementById('startDate').value;
var number = +document.getElementById('days').value;


var interval = number;

var startDate = new Date(Date.parse(formDate));

var expDate = startDate;
expDate.setDate(startDate.getDate() + interval);



var splitDate = expDate.split(' ');

var monthFomatted  = splitDate[1];
var dayFomatted  = splitDate[2];
var yearFomatted  = splitDate[3];


document.getElementById('total').innerHTML = monthFormatted;
document.getElementById('daysdays').innerHTML = Dateformatted;
};
</script>
</head>

HTML

<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>
</select>

 <div id="total"></div> <br/><div id="daysdays"></div>
</body>
 </html>
1个回答

.split() 是一种 String 方法(即它适用于字符串),而您正尝试在 Date 对象上使用它。

您最好执行

var monthFomatted  = expDate.getMonth();
var dayFomatted  = expDate.getDay();
var yearFomatted  = expDate.getYear();

getMonth()getDay()getYear() ,这些方法可用于 Date 对象。

编辑

另请注意,您正在设置 monthFomatted ,然后访问 monthFormatted ,这是行不通的。检查以确保变量命名一致。

DorianFM
2014-03-18