2013年3月20日 星期三

點TextBox帶月曆、檢查日期格式為YYYY/MM/YY


需求:
有一個放日期的TextBox(YYYY/MM/YY),我希望讓user點的時候開出月曆直接點選,但也要避免被亂打其他文字或格式錯誤。


方法:
1.確認已裝好AJAX(安裝方法可參考安裝AJAX)
2.將此TextBox加入擴充項,選CalendarExtender,此控制項的屬性要另外作一些調整成需要的格式。
3.在TextBox的HTML碼裡面加入 onchange="javascript:checkDate(this);"
4.在Javascript裡面加入

function checkDate(obj)
    {
        var strDate = obj.value;
        re = /\d{4}\/\d{2}\/\d{2}/g
        if (re.test(strDate))
        {
            var DateArray = strDate.split("/");
            var dateElement = new Date(DateArray[0], parseInt(DateArray[1]) - 1, DateArray[2]);
            if (!((dateElement.getFullYear() == parseInt(DateArray[0])) && ((dateElement.getMonth() + 1) == parseInt(DateArray[1])) && (dateElement.getDate() == parseInt(DateArray[2]))))
            {
                alert("格式錯誤,請從月曆點選或輸入此格式:2013/01/01")
                obj.value = '';
            }
         
        }
        else {
            alert("格式錯誤,請從月曆點選或輸入此格式:2013/01/01")
            obj.value = '';
        }
    }

沒有留言: