//日历
var date_start,date_end,g_object
var today = new Date();
var separator="-";
var inover=false;//mode :时间变换的类型0-年 1-月 2-直接选择月
function change_date(temp,mode)
{
var t_month,t_year
    if (mode){
        if(mode==1)
        t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10);
        else
        t_month=parseInt(temp)
        if (t_month<cele_date_month.options(0).text) {
            cele_date_month.value=cele_date_month.options(cele_date_month.length-1).text;
            change_date(parseInt(cele_date_year.value,10)-1,0);
            }
        else{
            if (t_month>cele_date_month.options(cele_date_month.length-1).text){
                cele_date_month.value=cele_date_month.options(0).text;
                change_date(parseInt(cele_date_year.value,10)+1,0);
                }            
            else
                {cele_date_month.value=t_month;
                 set_cele_date(cele_date_year.value,cele_date_month.value);                
                }
        }
    }  
    else{
        t_year=parseInt(temp,10);
        
        if (t_year<cele_date_year.options(0).text) {
            cele_date_year.value=cele_date_year.options(0).text;
            set_cele_date(cele_date_year.value,1);                
            }
        else{
            if (parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10)){
                cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;
                set_cele_date(cele_date_year.value,12);                
                }            
            else
                {cele_date_year.value=t_year;
                 set_cele_date(cele_date_year.value,cele_date_month.value);                
                }
        }
    }
    /*********2002-02-01 MODIFY BY WING **************/
    window.cele_date.focus();
    /****************MODIFY END***********************/
}//初始化日历
function init(d_start,d_end)
{
     var temp_str;
     var i=0
     var j=0
     date_start=new Date(1980,7,1)
     date_end=new Date(2004,8,1)
     document.writeln("<div name=\"cele_date\" id=\"cele_date\"  style=\"display:none\"    style=\"LEFT: 69px; POSITION: absolute; TOP: 159px;Z-INDEX:99\" onClick=\"event.cancelBubble=true;\" onBlur=\"hilayer()\" onMouseout=\"lostlayerfocus()\">-</div>");
     window.cele_date.innerHTML="";
     temp_str="<table border=\"1\" bgcolor=\"#DDDDDD\" bordercolor=\"white\"><tr><td colspan=7 onmouseover=\"overcolor(this)\">";
     temp_str+="<input type=\"Button\" value=\"<<\" onclick=\"change_date(-1,1)\" onmouseover=\"getlayerfocus()\" style=\"color: #000099; background-color: #BFBFBF; cursor: hand; border:1;\">-";     temp_str+=""
     temp_str+="<select name=\"cele_date_year\" id=\"cele_date_year\" language=\"javascript\" onchange=\"change_date(this.value,0)\" onmouseover=\"getlayerfocus()\" onblur=\"getlayerfocus()\" style=\"font-size: 9pt; border: 1px #666666 outset; background-color: #F4F8FB\">"     for (i=1900;i<=2020;i++)
     {
      temp_str+="<OPTION value=\""+i.toString()+"\">"+i.toString()+"</OPTION>";
     }
     temp_str+="</select>-";
     temp_str+=""
     temp_str+="<select name=\"cele_date_month\" id=\"cele_date_month\" language=\"javascript\" onchange=\"change_date(this.value,2)\" onmouseover=\"getlayerfocus()\" onblur=\"getlayerfocus()\" style=\"font-size: 9pt; border: 1px #666666 outset; background-color: #F4F8FB\">"     for (i=1;i<=12;i++)
     {
      temp_str+="<OPTION value=\""+i.toString()+"\">"+i.toString()+"</OPTION>";
     }
     temp_str+="</select>-";
     temp_str+=""
     temp_str+="<input type=\"Button\" value=\">>\" onclick=\"change_date(1,1)\" onmouseover=\"getlayerfocus()\"  style=\"color: #000099; background-color: #BFBFBF; cursor: hand; border:1;\">";     temp_str+="</td></tr><tr><td onmouseover=\"overcolor(this)\">"
     temp_str+="<font color=red>日</font></td><td>";temp_str+="一</td><td>"; temp_str+="二</td><td>"; temp_str+="三</td><td>"
     temp_str+="四</td><td>";temp_str+="五</td><td>"; temp_str+="六</td></tr>";
     for (i=1 ;i<=6 ;i++)
     {
     temp_str+="<tr>";
        for(j=1;j<=7;j++){
            temp_str+="<td name=\"c"+i+"_"+j+"\"id=\"c"+i+"_"+j+"\" style=\"CURSOR: hand\" style=\"COLOR:#000000\" language=\"javascript\" onmouseover=\"overcolor(this)\" onmouseout=\"outcolor(this)\" onclick=\"td_click(this)\">?</td>"
            }
     temp_str+="</tr>"        
     }
     temp_str+="</td></tr></table>";
     window.cele_date.innerHTML=temp_str;
}
function set_cele_date(year,month)
{
   var i,j,p,k
   var nd=new Date(year,month-1,1);
   event.cancelBubble=true;
   cele_date_year.value=year;
   cele_date_month.value=month;   
   k=nd.getDay()-1
   var temp;
   for (i=1;i<=6;i++)
      for(j=1;j<=7;j++)
      {
      eval("c"+i+"_"+j+".innerHTML=\"\"");
      eval("c"+i+"_"+j+".bgColor=\"#DDDDDD\"");
      eval("c"+i+"_"+j+".style.cursor=\"hand\"");
      }
   while(month-1==nd.getMonth())
    { j=(nd.getDay() +1);
      p=parseInt((nd.getDate()+k) / 7)+1;
      eval("c"+p+"_"+j+".innerHTML="+"\""+nd.getDate()+"\"");
      if ((nd.getDate()==today.getDate())&&(cele_date_month.value==today.getMonth()+1)&&(cele_date_year.value==today.getYear())){
        eval("c"+p+"_"+j+".bgColor=\"#EFFB64\"");
      }
      if (nd>date_end || nd<date_start)
      {
      eval("c"+p+"_"+j+".bgColor=\"#FF9999\"");
      eval("c"+p+"_"+j+".style.cursor=\"text\"");
      }
      nd=new Date(nd.valueOf() + 86400000)
    }
}//s_object:点击的对象;d_start-d_end有效的时间区段;需要存放值的控件;
function show_cele_date(eP,d_start,d_end,t_object)
{
window.cele_date.style.display="";
window.cele_date.style.zIndex=99
var s,cur_d
var eT = eP.offsetTop;  
var eH = eP.offsetHeight+eT;  
var dH = window.cele_date.style.pixelHeight;  
var sT = document.body.scrollTop; 
var sL = document.body.scrollLeft; 
event.cancelBubble=true;
window.cele_date.style.posLeft = event.clientX-event.offsetX+sL-5;  
window.cele_date.style.posTop = event.clientY-event.offsetY+eH+sT-5;
if (window.cele_date.style.posLeft+window.cele_date.clientWidth>document.body.clientWidth) window.cele_date.style.posLeft+=eP.offsetWidth-window.cele_date.clientWidth;

解决方案 »

  1.   

    eval('document.'+formname+'.'+preP+'.options[22]=tempoption;');
    cityareacode[21]=new Array('2201','2202','2203','2204','2205','2206','2207','2208','2209','2210','2211','2212');
    cityareaname[21]=new Array('南宁','柳州','桂林','梧州','北海','防城港','钦州','贵港','玉林','贺州','百色','河池');
    if (selectP=='23')
      { a=23;tempoption=new Option('海南','海南',false,true); }
    else
      { tempoption=new Option('海南','海南'); }
    eval('document.'+formname+'.'+preP+'.options[23]=tempoption;');
    cityareacode[22]=new Array('2301','2302','2303','2304','2305','2306','2307','2308','2309');
    cityareaname[22]=new Array('海口 ','三亚','通什','琼海','琼山','文昌','万宁','东方','儋州');
    if (selectP=='24')
      { a=24;tempoption=new Option('四川','四川',false,true); }
    else
      { tempoption=new Option('四川','四川'); }
    eval('document.'+formname+'.'+preP+'.options[24]=tempoption;');
    cityareacode[23]=new Array('2401','2402','2403','2404','2405','2406','2407','2408','2409','2410','2411','2412','2413','2414','2415','2416','2417','2418','2419','2420');
    cityareaname[23]=new Array('成都','自贡','攀枝花','泸州','德阳','绵阳','广元','遂宁','内江','乐山','南充  ','宜宾','广安','达川','巴中','雅安','眉山  ','阿坝 ','甘孜 ','凉山 ');
    if (selectP=='25')
      { a=25;tempoption=new Option('贵州','贵州',false,true); }
    else
      { tempoption=new Option('贵州','贵州'); }
    eval('document.'+formname+'.'+preP+'.options[25]=tempoption;');
    cityareacode[24]=new Array('2501','2502','2503','2504','2505','2506','2507','2508','2509');
    cityareaname[24]=new Array('贵阳 ','六盘水','遵义','铜仁','毕节','安顺','黔西南 ','黔东南','黔南');
    if (selectP=='26')
      { a=26;tempoption=new Option('云南','云南',false,true); }
    else
      { tempoption=new Option('云南','云南'); }
    eval('document.'+formname+'.'+preP+'.options[26]=tempoption;');
    cityareacode[25]=new Array('2601','2602','2603','2604','2605','2606','2607','2608','2609','2610','2611','2612','2613','2614','2615','2616','2617');
    cityareaname[25]=new Array('昆明','东川','曲靖','玉溪','昭通','思茅','临沧','保山','丽江','文山 ','红河 ','西双版纳 ','楚雄 ','大理 ','德宏 ','怒江','迪庆');
    if (selectP=='27')
      { a=27;tempoption=new Option('西藏','27',false,true); }
    else
      { tempoption=new Option('西藏','西藏'); }
    eval('document.'+formname+'.'+preP+'.options[27]=tempoption;');
    cityareacode[26]=new Array('2701','2702','2703','2704','2705','2706','2707');
    cityareaname[26]=new Array('拉萨','那曲','昌都','山南','日喀则','阿里','林芝');
    if (selectP=='28')
      { a=28;tempoption=new Option('陕西','陕西',false,true); }
    else
      { tempoption=new Option('陕西','陕西'); }
    eval('document.'+formname+'.'+preP+'.options[28]=tempoption;');
    cityareacode[27]=new Array('2801','2802','2803','2804','2805','2806','2807','2808','2809','2810');
    cityareaname[27]=new Array('西安','铜川','宝鸡','咸阳','渭南','延安','汉中','榆林','商洛','安康');
    if (selectP=='29')
      { a=29;tempoption=new Option('甘肃','甘肃',false,true); }
    else
      { tempoption=new Option('甘肃','甘肃'); }
    eval('document.'+formname+'.'+preP+'.options[29]=tempoption;');
    cityareacode[28]=new Array('2901','2902','2903','2904','2905','2906','2907','2908','2909','2910','2911','2912','2913','2914');
    cityareaname[28]=new Array('兰州','金昌','白银','天水','嘉峪关','定西','平凉','庆阳','陇南','武威','张掖','酒泉','甘南 ','临夏');
    if (selectP=='30')
      { a=30;tempoption=new Option('青海','青海',false,true); }
    else
      { tempoption=new Option('青海','青海'); }
    eval('document.'+formname+'.'+preP+'.options[30]=tempoption;');
    cityareacode[29]=new Array('3001','3002','3003','3004','3005','3006','3007','3008');
    cityareaname[29]=new Array('西宁','海东',' 海北 ','黄南','海南','果洛','玉树','海西');
    if (selectP=='31')
      { a=31;tempoption=new Option('宁夏','宁夏',false,true); }
    else
      { tempoption=new Option('宁夏','宁夏'); }
    eval('document.'+formname+'.'+preP+'.options[31]=tempoption;');
    cityareacode[30]=new Array('3101','3102','3103','3104');
    cityareaname[30]=new Array('银川','石嘴山','银南','固原');
    if (selectP=='32')
      { a=32;tempoption=new Option('新疆','新疆',false,true); }
    else
      { tempoption=new Option('新疆','新疆'); }
    eval('document.'+formname+'.'+preP+'.options[32]=tempoption;');
    cityareacode[31]=new Array('3201','3202','3203','3204','3205','3206','3207','3208','3209','3210','3211','3212','3213');
    cityareaname[31]=new Array('乌鲁木齐','克拉玛依','石河子','吐鲁番','哈密','和田','阿克苏','喀什','克孜勒苏','巴音郭楞','昌吉','博尔塔拉','伊犁');
    if (selectP=='33')
      { a=33;tempoption=new Option('香港','香港',false,true); }
    else
      { tempoption=new Option('香港','香港'); }
    eval('document.'+formname+'.'+preP+'.options[33]=tempoption;');
    cityareacode[32]=new Array();
    cityareaname[32]=new Array();
    if (selectP=='34')
      { a=34;tempoption=new Option('澳门','澳门',false,true); }
    else
      { tempoption=new Option('澳门','澳门'); }
    eval('document.'+formname+'.'+preP+'.options[34]=tempoption;');
    cityareacode[33]=new Array();
    cityareaname[33]=new Array();
    if (selectP=='35')
      { a=35;tempoption=new Option('台湾','台湾',false,true); }
    else
      { tempoption=new Option('台湾','台湾'); }
    eval('document.'+formname+'.'+preP+'.options[35]=tempoption;');
    cityareacode[34]=new Array();
    cityareaname[34]=new Array();eval('document.'+formname+'.'+preP+'.options[a].selected=true;');cityid=selectP;
        if (cityid!='0')
          {
            b=0;for (i=0;i<cityareaname[cityid-1].length;i++)
               {
                 if (selectC==cityareacode[cityid-1][i])
                   {b=i+1;tempoption=new Option(cityareaname[cityid-1][i],cityareaname[cityid-1][i],false,true);}
                 else
                   tempoption=new Option(cityareaname[cityid-1][i],cityareaname[cityid-1][i]);
                eval('document.'+formname+'.'+preC+'.options[i+1]=tempoption;');
               }
            eval('document.'+formname+'.'+preC+'.options[b].selected=true;');
          }
        }
     
      

  2.   

    function selectcityarea(preP,preC,formname)
       {
         cityid=eval('document.'+formname+'.'+preP+'.selectedIndex;');
         j=eval('document.'+formname+'.'+preC+'.length;');
         for (i=1;i<j;i++)
            {eval('document.'+formname+'.'+preC+'.options[j-i]=null;')}
         if (cityid!="0")
           {
             for (i=0;i<cityareaname[cityid-1].length;i++)
                {
                 tempoption=new Option(cityareaname[cityid-1][i],cityareaname[cityid-1][i]);
                 eval('document.'+formname+'.'+preC+'.options[i+1]=tempoption;');
                }
           }
        }
    //区域表单结束
    function gopreview()
    {
    document.preview.username.value=document.theForm.name.value;
    document.preview.email.value=document.theForm.e_mail.value;
    var popupWin = window.open('', 'preview_page', 'scrollbars=yes,width=500,height=300');
    document.preview.submit()
    }//关于验证注册表单
    NotNullFields=new Array();
    RegMatchFields=new Array();function CheckForm(formObj)
    {
    NotNullFields=new Array(
    new Array("UserName","请填入用户名!"),
    new Array("UserPassword","请填入密码!"),
    new Array("RePassword","请确认密码!"),
    new Array("UserEmail","请填入Email地址!")
    );
    RegMatchFields=new Array(
    new Array("UserName",/^\w{3,20}$/,"用户名应该由3-20位的英文字母,数字和下划线组成!"),
    new Array("UserEmail",/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/,"电子邮件的格式不正确!")
    );
    msg="";
    try{

    title1="[以下信息是必填项]\n-------------------------------\n";
    for(i=0;i<NotNullFields.length;i++)
    {
    if(document.all(NotNullFields[i][0]).value=="")
    {
    msg+=title1+"·"+NotNullFields[i][1]+"\n";
    title1="";
    }
    }


    if(document.all("UserPassword")!=null && document.all("RePassword")!=null)
    {
    if(document.all("UserPassword").value!=document.all("RePassword").value)
    {
    msg+="·密码确认不正确,请重新确认密码!\n";
    }
    }

    title2="\n\n[以下信息不符合格式]\n-------------------------------\n";
    for(i=0;i<RegMatchFields.length;i++)
    {
    //alert(RegMatchFields[i][0]+":"+document.all(RegMatchFields[i][0]).value);
    if(!document.all(RegMatchFields[i][0]).value.match(RegMatchFields[i][1]))
    {
    msg+=title2+"·"+RegMatchFields[i][2]+"\n";
    title2="";
    }
    }

    }
    catch(e)
    {
    alert("JSError:"+e);
    return false;
    }



    if(msg!="")
    {
    alert(msg);
    return false;
    }

    return true;
    }
    //设置选中默认值得Option
    function SetDefaultOption(selectName,defaultValue)
    {
    //alert(document.all(selectName).options.length);
    obj=document.all(selectName);
    for(var i=0;i<obj.options.length;i++)
    {
    if(obj.options[i].value==defaultValue)
    {
    obj.options[i].selected=true;
    return;
    }
    }
    }//设置选中默认值的Radio
    function SetDefaultRadio(radioName,defaultValue)
    {
    obj=document.all(radioName);
    //alert(obj.length);
    for(var i=0;i<obj.length;i++)
    {
    if(obj[i].value==defaultValue)
    {
    obj[i].checked=true;
    return;
    }
    }
    }
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
     <script src="Mymodify.js"></script>
      <form name="form1" method="post" action="">
      <input type="text" id="d" size="20" onFocus="javascript:show_cele_date(d,'','',d)">
      </form>
     </BODY>
    </HTML>
    这个代码,一打开就是一个空文本框,怎么让他显示当前日期呢?还有,再请教个问题,按时间不同,显示不同内容该怎么实现?
    急,谢谢各位老大~
      

  3.   

        function init_date(){
     // 设置查询的时间      
             var dateString = "";
             var myDate = new Date();
             dateString += myDate.getYear()  + "-";
             dateString += myDate.getMonth() + 1 + "-";
             dateString += myDate.getDate();
             
             if(${requestScope.startTime == null}){
               document.getElementById("begin_date").value = dateString;
               document.getElementById("end_date").value = dateString;
             }
    }