<input onblur="mm(this)">
<input id=tt>
<SCRIPT LANGUAGE="JavaScript">
function mm(e)
{
    var n = Date.parse(e.value.replace(/\./g, "\/"));
    if(!isNaN(n))
    {
        var d = new Date(n);
        var s = d.getFullYear();
        s += "."+ (d.getMonth()+2);
        s += "."+ d.getDate();
        tt.value = s;
    }
}
</SCRIPT>

解决方案 »

  1.   

    var now=new Date();
    document.form1.text1.value=now.getFullYear()+"."+(now.getMonth()+1)+"."+now.getDate();
    var nextdate=new Date(now.getFullYear(),now.getMonth()+2,now.getDate());
    document.form1.text2.value=nextdate.getFullYear()+"."+(nextdate.getMonth()+1)+"."+nextdate.getDate();
      

  2.   

    meizz(梅花雪)有问题吧,如果是12月的时候,那第二个框里不就显示13月了么
      

  3.   

    多谢楼上的这位兄弟指正:
    <input onblur="mm(this)">
    <input id=tt>
    <SCRIPT LANGUAGE="JavaScript">
    String.prototype.isDate = function()
    {
       var r = this.match(/^(\d{1,4})(-|\/|\.)(\d{1,2})\2(\d{1,2})$/); 
       if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
       return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }
    function mm(e)
    {
        var n = Date.parse(e.value.replace(/\./g, "\/"));
        tt.value = "";
        if(!isNaN(n) && e.value.isDate())
        {
            var d = new Date(n);
            d.setMonth(d.getMonth()+1)
            var s = d.getFullYear();
            s += "."+ (d.getMonth() + 1);
            s += "."+ d.getDate();
            tt.value = s;
        }
    }
    </SCRIPT>
      

  4.   

    呵呵,dreamover(梦醒了),你的也有问题,加了两个月,而且如果现在是3月31日,用你的方法成了4月31日了。
      

  5.   

    ……
    果然……,Date()构造函数中竟然也是要月份减一,以前没注意到
      

  6.   

    我这样写的,目前解决了,可有点笨,大家看看有没有好的方法:function Set_Value()
    {
    var date = new Date();
    var curYear=date.getFullYear();
    var curMonth=date.getMonth()+1;
    var curDate=date.getDate();function _f(n){
    if(n<10)
    n="0"+n;
    return n;
    }var strDate=curYear +"."+ _f(curMonth) +"."+ _f(curDate);
    theForm.cpdate.value=strDate;var d1 = new Date();
    d1.setDate(d1.getDate()+30);
    theForm.cvdate.value=d1.getFullYear()+"."+_f((d1.getMonth()+1))+"."+_f(d1.getDate());
    }
      

  7.   

    <script>
      function getNextMonth(dt){
        var yy=dt.getYear();var mm=dt.getMonth();var dd=dt.getDate();
        var ndt=new Date(yy,mm+1,dd);var cm=ndt.getMonth();
    return (cm-mm>1)?(new Date(yy,cm,0)):ndt;
      }
      alert(getNextMonth(new Date("2005/3/31")));
    </script>
      

  8.   

    d1.setDate(d1.getDate()+30);
    为什么是加30天而不是用
    d1.setMonth(d1.getMonth()+1);
      

  9.   

    我的解决方案就是用 setMonth 呀