اتفاق عجیبی که هنگام قرار دادن این کنترل در Master Page میافته اینه که مقدار مشخصه name با مقدار مشخصه id متفاوت است:
<input id="ctl00_PersianDatePickup2" type="text" name="ctl00$PersianDatePickup2" value="[کلیک کنید]" onclick="displayDatePicker('ctl00_PersianDatePicku p2');"/>
این قضیه ظاهرا در IE مشکلی ایجاد نمی کنه، اما در فایرفاکس ایجاد مشکل میکنه.
دلیل مشکل هم اینه که جستجو بر اساس نام کنترل انجام میشه و کنترلی با نام ctl00_PersianDatePickup2 در صفحه پیدا نمیشه، چون نام این کنترل بر اساس اتفاق فوق به ctl00$PersianDatePickup2 تبدیل شده است، بنابراین جستجو بی نتیجه می مونه.
برای رفع مشکل در فایل JsFarsiCalendar.js خط شماره 26 که به این شکل است:
var targetDateField = document.getElementsByName (dateFieldName).item(0);
را به شکل زیر تغییر دهید:
var targetDateField = document.getElementById (dateFieldName);
بدین ترتیب از این ببعد جستجو بر اساس ID کنترل انجام میشه و در هر دو Browser درست کار خواهد کرد.
فایل اصلاح شده را ضمیمه کردم. پروژه ضمیمه شده با Visual Studio 2008 ساخته شده و درست کار میکنه.
ماه رمضان است، دعا برای قبولی طاعات و عبادات فراموش نشود.