﻿# jsCalendar 搭配 Validator 控制項的 JavaScript 錯誤

今天一直在想辦法解決 jsCalendar 搭配 ASP.NET 的 Validator 控制項時的一個 JavaScript 問題，嚴格來講，應該是 ASP.NET 的錯誤，他沒有將 JavaScript 的 Error Handling 寫好，導致會出現 JavaScript Error，不過最後還是無法解決，不得已只能用以下這種方式解決，就是把這一頁的所有 JavaScript Error 忽略掉：

> <script type="text/javascript">  
> //<!\[CDATA\[  
> window.onerror=function(){ return true; }  
> //\]\]>  
> </script>

感謝 nyson 網友提供修正的資訊! 若要修正此問題的話，只要修改 jsCalendar 中的 calendar-setup.js 檔案即可。

請找到 calendar-setup.js 檔案的第106行的 onSelect(cal) 函數，修改成如下的程式即可：

> function onSelect(cal)  
> {  
>     var p = cal.params;  
>     var update = (cal.dateClicked || p.electric);  
>     if (update && p.inputField)  
>     {  
>        p.inputField.value = cal.date.print(p.ifFormat);  
>        if (typeof p.inputField.onchange == "function")  
>        {  
>            if(p.inputField.fireEvent)  
>                 p.inputField.fireEvent("onchange");  
>            else  
>                 p.inputField.onchange();  
>        }    }  
>   
>     if (update && p.displayArea)  
>         p.displayArea.innerHTML = cal.date.print(p.daFormat);  
>   
>     if (update && typeof p.onUpdate == "function")  
>         p.onUpdate(cal);  
>   
>     if (update && p.flat)  
>     {  
>         if (typeof p.flatCallback == "function")  
>         f p.flatCallback(cal);  
>     }  
>   
>     if (update && p.singleClick && cal.dateClicked)  
>         cal.callCloseHandler();  
> };
