求高手帮我找错 我写的 javascript 代码执行出来不是我要的结果

qq6212639 2009-05-04 02:21:03

<script language="javascript" type="text/javascript">
String.prototype.trim = function() {
return this.replace(/(^[\uFEFF|\u00A0|\s]*)|([\uFEFF|\u00A0|\s]*$)/g, "");
};
function cal() {
var beginTime = document.getElementById("txtBegintime").value;
var endTime = document.getElementById("txtEndtime").value;
if (beginTime.trim() == "" || endTime.trim() == "") {
return;
}
var arr1 = beginTime.split("-");
var arr2 = endTime.split("-");

var dt1 = new Date();
dt1.setFullYear(arr1[0]);
dt1.setMonth(arr1[1] - 1);
dt1.setDate(arr1[2]);

var dt2 = new Date();
dt2.setFullYear(arr2[0]);
dt2.setMonth(arr2[1] - 1);
dt2.setDate(arr2[2]);

var dif = dt2.getTime() - dt1.getTime();
var days = dif / (24 * 60 * 60 * 1000);
document.getElementById("txtSimtime").value = days;
}
</script>


我页面上有这样三个文本框 就是要在第二个文本框输入完时间之后马上在第三个文本框里显示时间差
第一个和第二个我用了一个第三方的日历控件
大家帮忙看下 我错在哪里 填了之后它老是在第三个里显示 NaN

我页面代码是这样的

<input type="text" id="txtBegintime" runat="server" onfocus="new WdatePicker(this,'%Y-%M-%D %h:%m',true,'whyGreen')" />
<input type="text" runat="server" id="txtEndtime" onfocus="new WdatePicker(this,'%Y-%M-%D %h:%m',true,'whyGreen')"
onblur="cal()" />
<input type="text" runat="server" id="txtSimtime" />

...全文
117 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

<script language="javascript" type="text/javascript">
String.prototype.trim = function() {
return this.replace(/(^[\uFEFF|\u00A0|\s]*)|([\uFEFF|\u00A0|\s]*$)/g, "");
};
function cal() {
var beginTime = document.getElementById("txtBegintime").value;
var endTime = document.getElementById("txtEndtime").value;
if (beginTime.trim() == "" || endTime.trim() == "") {
return;
}
var arr1 = beginTime.split("-");
var arr2 = endTime.split("-");

var dt1 = new Date();
dt1.setFullYear(arr1[0]);
dt1.setMonth(arr1[1] - 1);
dt1.setDate(arr1[2].split(" ")[0]);

var dt2 = new Date();
dt2.setFullYear(arr2[0]);
dt2.setMonth(arr2[1] - 1);
dt2.setDate(arr2[2].split(" ")[0]);

var dif = dt2.getTime() - dt1.getTime();
var days = dif / (24 * 60 * 60 * 1000);
document.getElementById("txtSimtime").value = days;
}
</script>
<input type="text" id="txtBegintime" runat="server" onfocus="new WdatePicker(this,'%Y-%M-%D %h:%m',true,'whyGreen')" />
<input type="text" runat="server" id="txtEndtime" onfocus="new WdatePicker(this,'%Y-%M-%D %h:%m',true,'whyGreen')"
onblur="cal()" />
<input type="text" runat="server" id="txtSimtime" />


shenzhenNBA 2009-05-04
  • 打赏
  • 举报
回复
修改部分见红色

<script language="javascript" type="text/javascript">
String.prototype.trim = function() {
return this.replace(/(^[\uFEFF|\u00A0|\s]*)|([\uFEFF|\u00A0|\s]*$)/g, "");
};
function cal() {
var beginTime = document.getElementById("txtBegintime").value;
var endTime = document.getElementById("txtEndtime").value;
if (beginTime.trim() == "" || endTime.trim() == "") {
return;
}
var arr1 = beginTime.split("-");
var arr2 = endTime.split("-");

var dt1 = new Date();
dt1.setFullYear(arr1[0]);
dt1.setMonth(arr1[1] - 1);
dt1.setDate(arr1[2].split(" ")[0]);

var dt2 = new Date();
dt2.setFullYear(arr2[0]);
dt2.setMonth(arr2[1] - 1);
dt2.setDate(arr2[2].split(" ")[0]);

var dif = dt2.getTime() - dt1.getTime();
var days = dif / (24 * 60 * 60 * 1000);
document.getElementById("txtSimtime").value = days;
}
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧