//  主调用函数是 setday(this,[object])和setday(this),[object]是控件输出的控件名,举两个例子:
//  一、<input name=txt><input type=button value=setday onclick="setday(this,document.all.txt)">
//  二、<input onfocus="setday(this)">
//==================================================== WEB 页面显示部分 ======================================================
var outObject;
var outButton;  //点击的按钮var outDate = "";  //存放对象的日期
var bUseTime = false;  //是否使用时间
var odatelayer = window.frames.endDateLayer.document.all;  //存放日历对象
var odatelayer = window.endDateLayer.document.all;
//odatelayer.bUseTimeLayer.innerText="NO";
bImgSwitch();
odatelayer.bUseTimeLayer.innerHTML = bImg;
function setday(tt, obj) //主调函数
{
    if (arguments.length > 2) { alert("对不起!传入本控件的参数太多!"); return; }
    if (arguments.length == 0) { alert("对不起!您没有传回本控件任何参数!"); return; }
    var dads = document.all.endDateLayer.style;
    var th = tt;
    var ttop = tt.offsetTop; //TT控件的定位点高    var thei = tt.clientHeight; //TT控件本身的高
    var tleft = tt.offsetLeft; //TT控件的定位点宽    var ttyp = tt.type; //TT控件的类型    while (tt = tt.offsetParent) { ttop += tt.offsetTop; tleft += tt.offsetLeft; }
    dads.top = (ttyp == "image") ? ttop + thei : ttop + thei + 6;
    dads.left = tleft;
    outObject = (arguments.length == 1) ? th : obj;
    outButton = (arguments.length == 1) ? null : th; //设定外部点击的按钮    //根据当前输入框的日期显示日历的年月
    var reg = /^(\d+)-(\d{1,2})-(\d{1,2})/;  //不含时间
    var r = outObject.value.match(reg);
    if (r != null) {
        r[2] = r[2] - 1;
        var d = new Date(r[1], r[2], r[3]);
        if (d.getFullYear() == r[1] && d.getMonth() == r[2] && d.getDate() == r[3]) {
            outDate = d;
            parent.meizzTheYear = r[1];
            parent.meizzTheMonth = r[2];
            parent.meizzTheDate = r[3];
        }
        else {
            outDate = "";
        }
        meizzSetDay(r[1], r[2] + 1);
    }
    else {
        outDate = "";
        meizzSetDay(new Date().getFullYear(), new Date().getMonth() + 1);
    }
    dads.display = '';    //判断初始化时是否使用时间,非严格验证
    //if (outObject.value.length>10)
    //{
    bUseTime = true;
    bImgSwitch();
    odatelayer.bUseTimeLayer.innerHTML = bImg;
    meizzWriteHead(meizzTheYear, meizzTheMonth);
    //}
    //else
    //{
    // bUseTime=false;
    // bImgSwitch();
    // odatelayer.bUseTimeLayer.innerHTML=bImg;
    // meizzWriteHead(meizzTheYear,meizzTheMonth);
    //}    try {
        event.returnValue = false;
    }
    catch (e) {
        //此处排除错误,错误原因暂未找到。
    }
}}上面是Calendar.js的部分代码,我在一个textBox中调用setday函数,运行时出现以下错误:Microsoft JScript 运行时错误: “setday”未定义,路径问题已经排除,应该是代码问题,恳请高手帮忙解决问题。这是textBox调用函数代码:<input id="tbCreateDate" runat="server" onfocus="setday(this)" type="text" readonly="readOnly" onclick="return tbCreateDate_onclick()" />