请问一个textbox的空间,我如何写一个函数,做到如下的逻辑
function aa()
{
  if(textbox输入的日期 < 昨天的日期)
     alert("不能新增拜访日期为昨天之前的记录!")
}

解决方案 »

  1.   

    因为要考虑闰年2月有29天等要素,所以用getTime()方法实现:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <script>
    function validate(XelementId)
    {
        var text=document.getElementById(XelementId);
        var srcDate=text.value.split("-");
        var d1=new Date(srcDate[0],srcDate[1],srcDate[2]);
        var today=new Date();
        var d2=new Date(today.getYear(),today.getMonth()+1,today.getDate());
        if((d2.getTime()-d1.getTime())/1000/3600/24>1)
            alert("不能新增拜访日期为昨天之前的记录!");
    }
    </script>
    </head>
    <body>
    <input type="text" id="text1" value="2011-1-28"/>
    <input type="button" value="确认" onclick="validate('text1')"/>
    </body>
    </html>
      

  2.   

    给你一个函数,可以求昨天的日期Date.prototype.DateAdd = function(interval, number) {
        var d = this;
        var k = { "y": "FullYear", "q": "Month", "m": "Month", "w": "Date", "d": "Date", "h": "Hours", "n": "Minutes", "s": "Seconds", "ms": "MilliSeconds" };
        var n = { "q": 3, "w": 7 };
        eval("d.set" + k[interval] + "(d.get" + k[interval] + "()+" + ((n[interval] || 1) * number) + ")");
        return d;
    };