刚学javascript,这段程序不明白,谁能给详细讲解一下

来源:百度知道 编辑:UC知道 时间:2024/05/27 05:30:08
<html>
<head>
<title>Test Calendar</title>
<script language="javascript" src="Calendar.js"></script>
</head>
<body>
<p style="font-size:20px;font-weight:bold">Test Calendar</p>
<hr>
<p>
From <input id="textfield_datefrom" type="text" onclick="button_Go_Click(this,0)" value="2007-01-01" readonly />
To <input id="textfield_dateto" type="text" onclick="button_Go_Click(this,1)" value="2007-07-26" readonly />
<input type="button" value="Go" style="width:100px" onclick="OnClickButton()" />
<div id="td_Calendar" style="width:250;position:absolute;visibility:hidden"></div>
</p>
<script>

var tdDate = null;
var nIndex=null;

<input id="textfield_datefrom" type="text" onclick="button_Go_Click(this,0)" value="2007-01-01" readonly />
这句里面的onclick="button_Go_Click(this,0)" 是指点击这个 text框就走button_Go_Click这个function 传得值是 text里面的值和0。

估计难点就在 button_Go_Click 这个function这里了。具体看看这个function
tdDate = td; 把text框的值 给tdDate
var YMD = td.value.split('-'); 应该是取得-中间的值
然后把值放到YMD里面,因为有多个值,所以YMD是一个数组
if(YMD.length != 3)
{
alert("日期长度错误。")
return;
} 判断YMD是不是 有3个元素,如果没有就报错,年月日

var Year = parseInt(YMD[0]);
var Month = parseInt(YMD[1]);
var Day = parseInt(YMD[2]);
分别取得YMD里面的第一第二第三个元素,也就是 年月日

if(isNaN(Year) || isNaN(Month) || isNaN(Day) || Month < 1 || Month > 12 || Day < 1 || Day > 31)
{
alert("日期数错误。")
return;
}
判断日期的格式 我觉得应该把return 改称return false

还有就是 var Firstday = GetWeekday(Year,Month