تقویم شمسی ماهیانه با جاوا اسکریپت

شروع موضوع توسط hoom ‏30 آگوست 2006 در انجمن برنامه نویسی سمت کاربر (Client Side)

کلمات کلیدی:
  1. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    با سلام

    با تشکر بسیار از دوست عزیزم آقا مجید که خیلی لطف کردن و اجازه دادن که این تایپیک برای بحث و تبادل نظر در مورد تقویم شمسی با جاوا اسکریپت ایجاد بشه.
    این تقویم بصورت 100% با جاوا اسکریپت نوشته شده و تقویم را بصورت ماهیانه نمایش داده و بصورت Date Picker عمل میکند. با اینکار، کاربر شما بجای وارد نمودن یک تاریخ، این امکان را هم دارد که تاریخ مورد نظر خود را از تقویم شما انتخاب نماید.
    امیدوارم از این تقویم که کار بسیار زیادی برده، لذت کافی را ببرید.
     
    نوشته شده توسط hoom در ‏30 آگوست 2006
    vahidd.com، Mds، silvercover و 3 نفر دیگر از این ارسال تشکر کرده اند.
  2. Majid

    Majid مدیر سایت عضو کادر مدیریت

    ارسال‌ها:
    9,315
    تشکر شده:
    11,337
    امتیاز دستاورد:
    113
    امكانش هست لينك مستقيم به اسكريپتي كه نوشتي بدي؟


    مجيد
     
    نوشته شده توسط Majid در ‏4 سپتامبر 2006
  3. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    البته، بفرمایید ولی من پیشنهاد میکنم برای اطلاعات بیشتر و دیدن اینکه اسکریپت را چگونه بکار ببرید، سری هم به خود سایت بزنید.

    http://hoomb.dnsalias.com/download.php?f=faCal_1.1.zip

    ارادتمند
     
    آخرین ویرایش: ‏6 سپتامبر 2006
    نوشته شده توسط hoom در ‏5 سپتامبر 2006
    datasun، silvercover، NabiKAZ و 6 نفر دیگر از این ارسال تشکر کرده اند.
  4. YTERROR

    YTERROR Active Member

    ارسال‌ها:
    3,877
    تشکر شده:
    1,324
    امتیاز دستاورد:
    36
    خیلی جالب بود ممنون خیلی دنبالش می گشتم
     
    نوشته شده توسط YTERROR در ‏5 سپتامبر 2006
  5. s.sepehrvand

    s.sepehrvand Member

    ارسال‌ها:
    182
    تشکر شده:
    207
    امتیاز دستاورد:
    16
    درخواست کمک

    سلام
    امیدوارم که حال شما خوب باشه
    من کنترلی که با جاوا نوشته بودید رو استفاده کردم
    خیلی عالی بود.دستت درد نکنه.
    اما یک مشکل دارم که امیدوارم کمکم کنید
    من این کنترل را در MasterPage استفاده کردم و با خطا مواجه شده.
    در این صورت استفاده کنترل شما Form ندارد. چگونه میتوان آن را کنترل کرد.

    [email protected]
     
    نوشته شده توسط s.sepehrvand در ‏20 سپتامبر 2006
  6. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    راستش این کنترلی مثل بقیه کنترلها در ASP.Net نیست، بلکه خیلی راحت یه فایل جاوااسکریپت رو صدا میزنه، من دقیقا متوجه نشدم شما برای چه موضوعی آنرا استفاده میکنید، ولی توضیحات اسکریپت رو لطفا در سایت اول مطالعه کنید و میبینید که استفاده از آن خیلی راحت هستش و همینطور فرم هم داره.

    ارادتمند
     
    نوشته شده توسط hoom در ‏21 سپتامبر 2006
  7. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    با سلام،

    قابل توجه دوستانی که در نمایش و استفاده از تقویم شمسی در Firefox اشکال داشتن، ورژن جدید این اسکریپت تمام مشکلات قبلی همچنین نمایش تاریخ درست را حل میکند. برای دریافت آن میتوانید به وب سایت مربوطه مراجعه کنید.

    ارادتمند
     
    نوشته شده توسط hoom در ‏25 سپتامبر 2006
    YTERROR از این پست تشکر کرده است.
  8. kimia1

    kimia1 New Member

    ارسال‌ها:
    7
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    دوست عزیز ممنون از برنامه تان. اما ظاهرا برنامه شما یک مشکل داره. مثلا برای همین ماه مهر 85 اشتباه میکنه و روز اول ماه را از جمعه محاسبه میکنه .برای بعضی ماههای دیگه مثل آذرماه و چند ماه دیگه را هم که من تست کردم مشکل داره. من دارم سعی میکنم بفهمم مشکل از کجاست. ولی اگه خودتان بتونید درستش کنید بهتره.. ممنون
     
    نوشته شده توسط kimia1 در ‏26 سپتامبر 2006
  9. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام. خیلی ممنون از توجهتون. اشکال از تابع firstDay هستش که مقدار ناصحیح را برمیگرداند. حتما تا چند روز آینده درستش میکنم.

    ارادتمند
     
    نوشته شده توسط hoom در ‏27 سپتامبر 2006
  10. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    درست شد، یه مثبت و منفی چه کارا که نمیکنه، بهرحال الان دقیق داره کار میکنه. برای دریافت نگارش جدید میتونین به وب سایت مراجعه کنید.

    ارادتمند
     
    نوشته شده توسط hoom در ‏28 سپتامبر 2006
    davnory و laserayaneh از این پست تشکر کرده اند.
  11. kimia1

    kimia1 New Member

    ارسال‌ها:
    7
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    عالیه

    دوست عزیز ممنون که اصلاح فرمودید. الان یه date Time Picker عالی ساختید فقط اگه یه رویداد Onclick برای فضای بیرون از تقویم مینوشتید که با کلیک بر روی ان تقویم Hide شود خیلی خوبتر میشد(ببخشید با این تقویمتون توقع را بالا بردید!!!) به هر حال دست مریزاد
     
    نوشته شده توسط kimia1 در ‏30 سپتامبر 2006
  12. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    اختیار دارید، راستش من این موارد رو از تقویم بیرون آوردم، چون معمولا وقتی برنامه نویسها از کامپوننتی توی یه wصفحه استفاده میکنن، اون رو برحسب نیاز اون صفحه درمیارن. ولی شما میتونید از این کد در صفحتون استفاده کنید که این کاری رو که میخواهید انجام بده که در هر دو مرورگر IE و FireFox کار میکنه.

    کد (Text):

    <Script Language="JavaScript">
    function getClickedElement(evt) {
        evt = evt || window.event;
        var obj = evt.target || evt.srcElement;
        return obj.nodeName;
    }

    function bodyClick(evt) {
        var nodeName = getClickedElement(evt);
       
        if ((nodeName != 'IMG') && (nodeName != 'A'))
            hideAllCalendars();
    }
    </Script>

     
    این رو هم در تگ Body قرار بدین

    کد (Text):

    <BODY OnClick="bodyClick(event)">
     
    ارادتمند
     
    نوشته شده توسط hoom در ‏1 اکتبر 2006
    saeedfweb از این پست تشکر کرده است.
  13. fariborz2004

    fariborz2004 Member

    ارسال‌ها:
    162
    تشکر شده:
    5
    امتیاز دستاورد:
    16
    سلام و با تشکر

    سلام آقا ممنون از کدتون خیلی خوب بود فقط یک سوالی اگر می شد پارامتر فرم رواس نمیدادین خوب بود چون وقتی نمیدونی اسم فرم چیه به مشکل بر میخوریم مخصوصا وقتی داری بصورت داینامیک اضافش می کنیم و یه چیز دیگه اگه از css class استفاده میکردین خیلی بهتر بود
     
    نوشته شده توسط fariborz2004 در ‏7 اکتبر 2006
  14. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    خواهش میکنم، اگر منظورتون این خط هستش
    کد (Text):
    addCalendar("calFirstDate", "Select Date", "myFirstDate", "myForm");
    میتونین اون رو به این صورت بنویسین
    کد (Text):
    addCalendar("calFirstDate", "Select Date", "myFirstDate", document.forms[0].name);
    در مورد CSS Class، در اول فایل persianPopupCalendar.js این متغیرها هستند که با تغییر آنها، رنگ و فونت و بقیه چیزها عوض میشن، میبینید که احتیاجی به CSS نبوده.

    کد (Text):

    var fontFace="Tahoma";
    var fontSize=11;

    var titleWidth=90;
    var titleMode=1;
    var dayWidth=12;
    var dayDigits=1;

    var titleColor="#CCCC99";
    var daysColor="#EEBB89";
    var bodyColor="#FFFFCC";
    var dayColor="#FFFF99";
    var currentDayColor="#FFCC99";
    var footColor="#CCCC99";
    var borderColor="#333333";

    var titleFontColor = "#333333";
    var daysFontColor = "#333333";
    var dayFontColor = "#333333";
    var currentDayFontColor = "#ffffff";
    var footFontColor = "#333333";
     
    ارادتمند
     
    آخرین ویرایش: ‏7 اکتبر 2006
    نوشته شده توسط hoom در ‏7 اکتبر 2006
  15. zfarhad2003

    zfarhad2003 Member

    ارسال‌ها:
    616
    تشکر شده:
    65
    امتیاز دستاورد:
    16
    واقعا کارتون فوق العاده است. من که نیاز خیلی مبرمی به همچین تقویمی داشتم و تا حالا هیچ جای وجود نداشت.
    خیلی ممنونم. به خصوص به این خاطر که تحت Gpl است خیلی خیلی ممنونم.
     
    نوشته شده توسط zfarhad2003 در ‏8 اکتبر 2006
  16. fariborz2004

    fariborz2004 Member

    ارسال‌ها:
    162
    تشکر شده:
    5
    امتیاز دستاورد:
    16
    باگ

    سلام آقا هومن
    منظورم این بود که اگه از Css استفاده می کردین خیلی بهتر بود یعنی مقادیر رو از یک فایل Css می خوندین بهتر بود و تغییر دادنش راحت تر و بهتر بود
    من دارم حالتی رو در نظر میگیرم که تو یک سایت که کلا داینامیک است ازش استفاده بشه
    یه چیز دیگه اگر مقادیر مربوط به نوشته ها رو بصورت آرگومان پاس میدادین بهتر بود چون اونجوری قابلیت شخصی سازی بیشتری داشت بازم منظورم در سیستم های داینامیک و خیلی بزرگه

    حالا باگ: اگر یک روز رو از تقویم انتخاب کنیم و بعد مقدار ساعت رو پاک کنیم و مقدار مثلا روز رو یک عدد نامعتبر وارد کنیم اونوقت اگه دوباره تقویم رو فعال کنیم ارور میده ولی اگر رو لینک امروز کلیک کنی مشکلی پیش نمی یاد

    اگر مقدار متغییر مربوط به تنظیم اولین روز هفته غیر از 0 یا 1 باشه دیگه تقویم باز نمیشه
    اگر مقدار متغییر مربوط به نمایش کاراکترهای روز هقته رو از 3 بیشتر کنی دیگه بقیه رو نشون نمیده و همون 3 تای اول رو نشون میده و بجاش فضای خالی میزاره

    من پیشنهاد می کنم یک ولیدیتور هم برای فیلد اضافه کنید تا اگر فرضا من خودم تاریخی رو وارد کردم و معتبر نبود آلرت بده
    دیگه اینکه اگه ردیفی که ماه قبل و بعد را دارد رو از سال بعد و قبل جدا کنی فکر کنم بهتره چون اینجوری زیاد واضح نیست البته من مقدار متغییری که گذاشته بودی رو عوض کردم که شیوه نمایش هدر رو عوض میکرد و اینکه اگر به جای > یا >> از یک پارامتر استفاده می شد که مقدارش رو به تابع پاس میدادیم بهتر بود اینجوری قابلیت شخصی سازی بیشتری داشت بازم منظورم توسیستم های بزرگ هست کلا

    ولی در کل دستت خیلی خیلی درد نکنه چون خیلی کارت عالی بود بازم از این کارا بکن
    می بخشی زیادب حرف زدم و ایراد گرفتم
    دوست خوب اونیه که ایرادای آدم رو بگه نه همش تعریف کنه
     
    نوشته شده توسط fariborz2004 در ‏8 اکتبر 2006
  17. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    خیلی لطف دارید، ولی این موارد که گفتین اصلا باگ نیستن، نمیدونم اون آرتیکل قدیمی رو خوندین یا نه، بهرحال خلاصه اون اینه که این تقویم درحقیقت یه نسخه لاتین بوده که من فارسیش کردم و طوری تغییرش دادم که تقویم شمسی بشه (البته این توضیحات توی هدر فایلها نوشته شده). اون دوتا متغییر که میبینید بهمین دلیل اونجا هستن که این تبدیل رو انجام بدن و نباید دست بخورن، برای همین توی اون لیست متغیرهای پست قبلی هم نیستن.
    یه مورد دیگه هم که شما اشتباه متوجه شدین اینه که این تقویم فقط همون پاپ آپی که اونجا میبینید هستش و نه اون فیلد ورودی، برای همین اگر تست یا چیزی لازم داشته باشین که روی اون انجام بدین، باید خودتون بنویسین. همینطور هم که قبلا توی همین آرتیکل برای سایر دوستان توضیح دادم، من کار اصلی رو برای شما انجام دادم و همه چیز رو هم مجانی و بصورت باز در اختیارتون قراردادم که بتونین تغییر بدین، برای همین اگر کسی بتونه اون سیستم خیلی بزرگ و دینامیکی که شما میگین بنویسه، حتما میتونه یه css درست کنه و اون چند تا متغیر رو با یه دستور جستجو و جایگزینی تغییر بده و یا همه چیز رو بیشتر پارامتری کنه. من ترجیحا میخواهم همه چیز ساده نگه داشته بشه که هرکسی بتونه خیلی راحت و بدون دنگ و فنگ زیاد از تقویم من استفاده کنه.
    باز هم از توجهتون ممنونم.
     
    نوشته شده توسط hoom در ‏12 اکتبر 2006
  18. mtakami

    mtakami New Member

    ارسال‌ها:
    4
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    سلام .
    من تقویم رو تو یه محیط html خیلی راحت استفاده کردم .
    اما الان که دارم تو یه تمپلیت پی اچ پی استفاده می کنم ، دیگه نمی تونم تقویم رو اد کنم و موقعیکه کد
    addCalendar("calFirstDate", "Select Date", "myFirstDate", "myForm");
    رو به برنامه اضافه می کنم ، پیغام operation aborted میده
     
    نوشته شده توسط mtakami در ‏13 اکتبر 2006
  19. hoom

    hoom Member

    ارسال‌ها:
    436
    تشکر شده:
    39
    امتیاز دستاورد:
    16
    سلام

    خیلی ممنون از لطفتون، این یک مشکل عمومی در تمامی مرورگرها است و راهش هم اینه که اون کدی رو تقویم رو به صفحه اضافه میکنه رو به آخر صفحه، قبل از تگ <body/> قرار بدین. اگر نگارش 1.3 تقویم رو از وب سایت مربوطه دانلود کنین میبینید که من توی فایل نمونه هم همینکار رو کرده ام.

    ارادتمند
     
    نوشته شده توسط hoom در ‏14 اکتبر 2006
  20. fariborz2004

    fariborz2004 Member

    ارسال‌ها:
    162
    تشکر شده:
    5
    امتیاز دستاورد:
    16
    سلام هومن جان
    ممنون از لطفت باشه اگه فرصت کردم یک کامپوننت دات نتی شو واست مینویسم
    در مورد اون باگ هم که گفتم به نظر من بهتره تاریخ رو چک کنی تا اگر اشتباه وارد شده بود برنامه از کار نیفته چون الان اررور میده
    بازم ممنون از سورست
    سرم خلوت شد کامپوننت رو میذارم تا دوستان حالشو ببرن
    راستی یه سوالی تقویم قمری کسی سراغ داره من که پیدا نکردم هنوز
     
    نوشته شده توسط fariborz2004 در ‏17 اکتبر 2006

به اشتراک بگذارید