وارد کردن تاریخ شمسی در نرمافزارهای تحت وب( Web Application ) به گونهای که سازگاری با مرورگرهای مختلف و بیشترین کارایی فراهم شود یکی از دغدغههای مهم برنامهنویسان وب است.
تقویمهای گوناگونی توسط افراد مختلف نوشته شدهاند که هر یک مشکلات خاص خود را دارند. برای از بین بردن تمامی مشکلات موجود، تصمیم گرفتم تقویم جدیدی با قابلیتهای منحصربهفرد و بیشترین کارایی را از پایه طراحی و کدنویسی کنم
سه ویژگی مهم در تقویم ایجاد شده عبارتند از:
- دقیقترین الگوریتم محاسبهی تاریخ با پشتیبانی از سالهای خورشیدی تا سال ۹۹۹۹
- شناسایی هوشمند بیش از ۱۸ مدل ورود دستی تاریخ توسط کاربر
- تغییر ظاهر تقویم تنها با امکانات CSS
مهمترین ویژگی این تقویم امکان ورود تاریخ به صورت دستی توسط کاربر است:
فرمتهای قابل قبول برای ورود تاریخ عبارتند از:
- ۹۰۰۸۱۴
- ۱۴۰۸۹۰
- ۱۳۹۰۰۸۱۴
- ۱۴/۸/۹۰
- ۹۰/۸/۱۴
- ۱۴/۸/۱۳۹۰
- ۱۳۹۰/۸/۱۴
- ۱۴-۸-۹۰
- ۹۰-۸-۱۴
- ۱۴-۸-۱۳۹۰
- ۱۳۹۰-۸-۱۴
و فرمتهای ویژه:
- ۰۸۱۴
- ۱۴۰۸
- ۱۴-۸
- ۸-۱۴
- ۱۴/۸
- ۸/۱۴
- ۱۴
در فرمتهای ویژه که سال و ماه وارد نشدهاند، سال و ماه فعلی به حساب خواهد آمد.
در فرمتهایی که سال مشخص نشده باشد، دو رقم ابتدایی در صورت امکان روز محاسبه خواهند شد
روش بهکارگیری تقویم در صفحات وب
استفاده از این تقویم بسیار ساده است
ابتدا فیلد متنی خود را در متن صفحه قرار دهید:
<input type="text" id="pcal1" class="pdate"> |
سپس فایل جاوااسکریپت و قالببندی CSS را در سرآمد فایل HTML قرار دهید:
<link rel="stylesheet" href="js-persian-cal.css"> <script src="js-persian-cal.min.js"></script> |
دستور تبدیل فیلد متنی به فیلد تاریخ را در انتهای صفحه و در تگ اسکریپت قرار دهید:
<script> var objCal1 = new AMIB.persianCalendar( 'pcal1' ); </script> |
پارامتر تعریف شده شناسهی( id ) فیلد متنی است که به فیلد تاریخ تبدیل خواهد شد.
پارامتر دوم به تنظیمات اضافی اختصاص دارد و اختیاری است
پارامتر دوم شیءی درونخطی با فرمت JSON است. برای نمونه به مثال زیر توجه کنید:
<input type="text" id="pcal1" class="pdate"> <input type="hidden" name="extra" id="extra"> <script> var objCal1 = new AMIB.persianCalendar( 'pcal1', { extraInputID: "extra", extraInputFormat: "YYYYMMDD" } ); </script> |
دستور بالا سبب میشود فیلد اضافی با شناسهی extra تاریخ را با فرمتی دیگر ذخیره کند
این قابلیت به برنامهنویسان در ارزیابی و تبدیل تاریخ یاری میرساند
گزینههای قابل تغییر - اختیاری
- extraInputID : شناسهی فیلد اضافی
- extraInputFormat : فرمت فیلد اضافی
- onchange: تابعی که هنگام تغییر تاریخ به صورت خودکار فراخوانی میشود( به مثالها مراجعه کنید )
- initialDate: تاریخ پیشفرض که هنگام ایجاد فیلد در آن قرار میگیرد.
- defaultDate: چنانچه مقدار فیلد تاریخ معتبری نباشد و کاربر تقویم را باز کند، این تاریخ به او نشان داده میشود.
- divPickerClassName : نام کلاس div اصلی حاوی تقویم برای قالببندی
- btnClassName : نام کلاس a دکمهی تقویم برای قالببندی
فرمتهای قابل قبول برای فیلد اضافی عبارتند از:
- YYYY سال میلادی - چهار یا پنج رقمی
- MM ماه میلادی - دو رقمی
- DD روز میلادی - دو رقمی
- YY سال میلادی - دو رقمی
- M ماه میلادی - یک یا دو رقمی
- D روز میلادی - یک یا دو رقمی
- yyyy سال خورشیدی - چهار رقمی
- mm ماه خورشیدی - دو رقمی
- dd روز خورشیدی - دو رقمی
- yy سال خورشیدی - دو رقمی
- m ماه خورشیدی - یک یا دو رقمی
- d روز خورشیدی - یک یا دو رقمی
- JD روز جولین( تعداد روزهای گذشته از یکم ژانویه سال 4713 پیش از میلاد مسیح(ع) )
فهرست قابلیتهای تقویم شمسی جاوااسکریپت
- تغییر ماه و سال با کلیک بر روی دکمههای قبل و بعد
- تغییر ماه و سال با امکان انتخاب از فهرست
- افزایش و کاهش تاریخ با استفاده از کلیدهای بالا و پایین در فیلد
- امکان فعال و غیرفعال کردن تقویم به صورت موقت
- تغییر تاریخ به تاریخ فعلی با کلیک بر روی لینک مخصوص
- ارزیابی ورودی کاربر و تشخیص تاریخ با ۱۸ فرمت مختلف
- تغییر قالب DatePicker تنها با تغییر در فایل CSS
- تشخیص اعداد فارسی و لاتین
- امکان تبدیل آنلاین تاریخ به فرمتهای مختلف و ذخیره در فیلد اضافی
- پشتیبانی از مرورگرهای مختلف
- مصرف کم حافظه، سرعت و دقت بسیار بالا
- حجم کم سرآمد( تنها ۱۴ کیلوبایت )
- استفادهی بسیار آسان
آزمون به صورت آنلاین
پوستهی اصلی
پوستهی تیره
پوستهی فیروزهای فسفری
پوستهی هلویی
دریافت تقویم فارسی جاوااسکریپت - ویرایش ۰.۲.۱ - ۱۰ فروردین ۱۳۹۲
دانلود تقویم فارسی جاوااسکریپت
CDN
دسترسی به فایل اسکریپت از طریق CDN رایگان jsDelivr مقدور است. توجه کنید که این میزبان تضمینی برای پایداری ارائه نمیکند و استفاده از آن در پروژههایی با اهمیت بالا توصیه نمیشود.
<script src="//cdn.jsdelivr.net/jspersiancal/0.2.1/js-persian-cal.min.js"></script> |
jQuery
دوستان گرامی «حمید» و در تکمیل «صابر فتحاللهی» در کامنتها روشی آسان برای تبدیل فیلدها به تقویم با کمک jQuery معرفی کردند:
1- در انتهای فایل اصلی اسکریپت کد زیر را اضافه کنید
( function( $ ) { $.fn.persianCalendar = function(extra) { return this.each( function( index, element ) { var id = jQuery(element).attr("id"); new AMIB.persianCalendar( id, extra ); } ); }; })( jQuery ); |
2- با این قطعه کد میتوان تمامی idهایی که مثلا با pcal شروع میشوند را تبدیل به فیلد تاریخ کرد:
jQuery("input[id^=pcal]").persianCalendar( { initialDate: '1392-10-20', defaultDate: '1392-10-20' } ); |
سلام
این تقویم لایسنس خاصی داره اجازه این هست که از ان در نرم افزارهای تجاری سورس بسته استفاده بشه
چون الان یک تقویم جاوا اسکریپتی دیگه هست تحت gpl3 است و نمی توان در پروژه های غیر متن باز از ان استفاده کرد
مشکلی نیست
فقط اگر اشارهای به منبع اصلی هم داشته باشید باعث سپاسگزاری است( اختیاری )
ممنون از شما باعث سپاسگذاری
با سپاس از تقويم زيبايتان
من از ذخيره تاريخ از رشته 10 تايي استفاده مي كنم ولي اجازه ذخيره صفر را نمي دهد مثلا 1390/01/01 را به صورت 1390/1/1 ذخيره مي كند لطفا بررسي كنيد ممنون
کامنت جدید:
یکی از کاربران تقویم روشی جالب برای انجام این کار را استفاده کرده بودند
ایشان شناسهی فیلد اصلی را به عنوان فیلد کمکی هم وارد کرده بودند
با این روش میتوانید تاریخ را به هر فرمت دلخواه در فیلد اصلی نشان دهید که از آن جمله نمایش صفر قبل از ماهها و روزهای یک رقمی است
البته باید دقت کنید فرمت مورد نظر طوری باشد که برای تقویم قابل شناسایی باشد و مسئولیت این موضوع بر عهدهی برنامهنویس است
سلام امکان این هست که به این کنترل قابلیت گرفتن زمان شامل ساعت و دقیقه و ثانیه را هم بهش اضافه کرد
به این موضوع قبلا فکر کرده بودم
پیادهسازی این کار طوری که رابط کاربری آسیب نبینه کار سختی است( با توجه به اینکه امکان تایپ وجود دارد و بعد از تایپ کاربر علاوه بر تاریخ، ساعت هم باید تشخیص داده شود )
فعلا قصد ندارم این کار رو انجام بدم
با این حال اگر کسی بخواهد این کار را انجام دهد از نظر من مشکلی ندارد و سورس فشردهنشده را در اختیارش قرار خواهم داد
اگر میخواهید سیستمی جدید طراحی کنید بهتر است تاریخ و زمان را که دو موجودیت جدا هستند را در دو فیلد قرار دهید
سلام
درباره افزودن ساعت به تقویم، میشه از قالب نمونه زیر استفاده کرد که نیازی هم به تایپ نداره
درضمن اگه امکانش هست نسخه ی فشرده نشده ی اسکریپت رو میخواستم داشته باشم
من با نظرتون مخالفم. به نظر من تاریخ و زمان یک موجودیت واحد هستند.
سلام. ممنون از زحمتی که کشیدین. من عادت ندارم برای کدهای جاوااسکریپت مورد نیازم در سایتهای فارسی بگردم، چون چیزی پیدا نمیشود. برای تقویم فارسی، جستجویی کردم و بعد از چندین جواب بیربط، با ناامیدی به وبلاگ شما رسیدم و چیزی دیدم که نظیرش با این دقت، در مدلهای خارجیاش هم کمیاب است. از این بابت بسیار سپاسگذارم.
من در حال طراحی سایتی هستم که برای ویرایش اطلاعات، صفحات لایتباکس (JQuery) باز میکند و محتویات این صفحهها از طریق AJAX فراخوانی میشوند و میدانیم که کدهای ارسالی به این طریق، قابلیت اجرای مستقیم جاوااسکریپت را ندارند. البته برای اجرای جاوااسکریپتهای دلخواه، حقهها و ترفندهای بسیاری وجود دارد، از جمله ایجاد روتینی برای دیدهبانی Textboxهایی با IDهای خاص، که در صورت پیدا شدن یکی از اینها، کد داخلش اجرا شود. این روش بهخوبی جواب میدهد، اما اعمالش برای کاری مثل ایجاد فیلد تاریخ، باعث پیچیده شدن وحشتناک صفحه میشود. برای رفع این مشکل، بعد از تعریف Textbox، آیکونی گذاشتم مشابه آنچه که در نمونهی شما وجود دارد و کاربر با کلیک بر روی آن، کد جاوااسکریپت مورد نظر شما را اجرا میکند و آیکون بدل را هم محو میکند و به این ترتیب، تغییری در خروجی حاصل نمیشود. حسن انجام این کار را با یک Alert ساده کنترل کردم، اما بعد از آن، هیچ اتفاقی نمیافتد که نمیافتد.
من از خیلی از کتابخانههای JQuery در کدهایم استفاده کردهام و نمیدانم که آیا اجرا نشدن کد شما تقصیر آنهاست، یا مشکل از جای دیگر آب میخورد. حدس دیگرم این است که شاید برنامه به دنبال آدرسهای خاصی برای بارگیری ملزومات خود میگردد که من به خاطر قرار دادن فایلهای بسته در دو فولدر عقبتر، آنها را از دسترس اسکریپت خارج کرده باشم.
متأسفانه هیچ نسخهی آپلودشدهای از آنچه که در دست انجام دارم، آماده نیست. البته ویرایش تاریخ فارسی، برای پروژهی فعلی من که امروز و فردا باید برای تحویل آماده شود، لازم نیست، اما جاذبهی آزمایش ابزاری به این زیبایی و ظرافت، مرا تا این نیمههای شب بیدار نگه داشت تا زیر و بمش را بررسی کنم.
سرتان را درد آوردم. یک تشکر دیگر هم لازم است بکنم بابت ابزاری که برای ذخیرهی پنهانی تاریخ انتخابشدهی کاربر به فرمتهای دیگر پیشبینی کردهاید. فکر بکری است و بدون این، فکر میکنم ابزار شما برای بیش از هشتاد درصد برنامهنویسان بهکلی بیفایده میشد.
شرمنده که دوباره مزاحم میشم و اینجا رو شلوغ میکنم. مشکل من از اینجا بود که شیء objCal1، چون از داخل تابع ویژه ساخته میشد، public نبود و بقیهی توابع آن را نمیدیدند. من زیاد جاوااسکریپت بلد نیستم و این اندازه میدانم که برای تعریف یک متغیر عمومی، آن را باید بیرون از تابع تعریف کرد و راهی را نمیشناسم که از داخل یک تابع، متغیر عمومی تعریف کنیم. مشکل خودم را با «ماستمال» کردن حل کردم. یک شیء بیهوده از objCal1 را در ابتدای اسکریپت ساختم و بعد این شیء را مقداردهی کردم. میگویم بیهوده، چون در زمان تعریف این شیء، Textbox هنوز ایجاد نشده و بستگی به انتخاب کاربر دارد و خوشحالم که هیچ اخطار و اشکالی به وجود نیامد. امیدوارم روی همهی مرورگرها این ماستمالی کار کند. اگر ایدهی استانداردی برای حل مشکل من دارید، ممنون میشوم راهنمایی بفرمایید.
با سلام و تشکر از لطف شما
برای اینکه از داخل تابع متغیری سراسری ایجاد کنید یکی از راهها این است که تعریف متغیر را به صورت زیر انجام دهید:
سلام ممنون از کار بسیار خوبتون
می خواستم ببینم امکانش هست که به جای اینکه ID یک فیلد رو بهش بدیم تا اونو تبدیل به فیلد تاریخ کنه ، از روندی استفاده بشه که بشه نام کلاسی که اون فیلد داره رو بهش داد تا تموم فیلدهایی که از اون کلاس هستند رو تبدیل به فیلد تاریخ کنه؟ (دقیقا مثل کاری که توابع jQuery انجام میده)
اگر قرار باشد ایجاد شیء تقویم بر اساس class باشد و با توجه به دلیل شیءگرا بودن ایجاد تقویم
نیاز است که اشیا داخل یک حلقه ایجاد شوند. به هر حال لازم است که inputها یک id داشته باشند
یک کوتاه مانند نمونه کد زیر میتواند این کار را انجام دهد:
باسلام
میخواستم از کار خوبتون و از زحمتی که کشیدید تشکر کنم.
کار باهاش راحته و تغییر استایل هم کارایی زیادی داره
سربلند باشید
با سلام وسپاس از کار خوبتون
یه سوال دیگه ایا امکان این هست که تقویم در یه بازه زمانی محدود نمایش داده بشه مثلا از ۵ سال قبل تا امروز ویا برعکس
ممنون
سلام
در حال حاضر این امکان در تقویم وجود ندارد
بررسی تاریخ ورودی کاربر برای قرارداشتن در دامنهی دلخواه کاری ساده است که با چند خط جاوااسکریپت قابل انجام است.
سادهترین راه این است که تاریخ را در فیلدی جداگانه با فرمت JD ذخیره کنید و محتوای فیلد اضافه را که یک عدد است با JD تاریخ ابتدا و انتها مقایسه نمایید
با سلام به شما
ممنونم از اسکریپت خوبتون
یه مشکل داشتم گفتم از شما بپرسم، ممنون میشم راهنمایی کنین
من میخوام یه تاریخ شروع داشته باشم و یه مدت مدت اجرا (تعداد روز) که مدیر وارد می کنه (مثلا شروع 1391/03/03 به مدت 3 روز ) و میخوام این روزها رو محاسبه کنم و در یک dropdownlist نمایش بدم. (محتوای dropdownlist بعد از محاسبه -> 1391/03/03 - 1391/03/04 - 1391/03/05 ) نمیدونم چطوری میتونم یکی یکی روزها رو محاسبه و در dropdownlist بزارم؟؟
یک اسکریپت کوتاه برای انجام این کار شما آماده کردم که تاریخهای مورد نظر شما رو alert میکنه
اگر مشکلی در استفاده از این اسکریپت دارید لطفا در ایمیل پیگیری کنید
سلام
امکانش هست که ساعت را هم نمایش بده؟
ویرایش جدید را کی عرضه می کنید؟
با سلام
در مورد «ساعت» در نظرهای قبلی توضیح دادم.
در مورد نسخهی جدید،
نگارش فعلی به پایداری و اطمینان قابل قبولی رسیده
برای اضافه شدن ویژگیهای جدید باید فرصت پیدا کنم تا بتوانم این کار را انجام دهم
اگر امکانش هست تقویم را طوری درست کنید که بشه یک سری تنظیمات اولیه را موقع تعریف تعیین کرد
هماکنون هم امکان تعریف تنظیمات در هنگام ساخت تقویم وجود دارد
اگر تنظیم خاصی را نیاز دارید آن را از طریق ایمیل برایم بفرستید تا در فهرست کارهای آینده قرار بگیرد
amibct در سایت گوگل
سلام
از ساعت برای ثبت در فرم می خواهم استفاده کنم , در واقع کافیه تقویم ساعت سیستم را به آخر تاریخ اضافه کنه و لازم نیست از ساعت به عنوان ورودی استفاده بشه
در مورد تعریف تنظیمات در هنگام ساخت تقویم , در مثالهایی که زده شده فقط آیدی و نام وجود دارد اگر بتوانید مثالی که در آن همه تنظیمات وجود داشته باشد به مثالها اضافه کنید خیلی خوب میشود
مثلا در موقع تعریف مشخص شود که تقویم در صفحه نمایش داده شود یا متصل به دکمه باشد,
زمان به عنوان خروجی نمایش داده شود یا نه ,
محدوده زمانی مشخص شود,
نوع رنگ بندی تقویم مشخص شود,...
متشکر
با سلام
مطلبی که قبلا هم در مورد ساعت اشاره کردم همین بود
اضافه کردن ساعت فعلی کار آسانی است ولی به قول معروف «بزن برویی» به حساب میآید و این شیوه از کدنویسی را به هیچ وجه نمیپسندم. اضافه کردن ساعت فعلی در سمت اسکریپت کار سادهای است و خودتان هم میتوانید انجام دهید.
در مورد تنظیمات، غیر از رنگبندی که کاملا توسط CSS انجام میشود بقیهی ویژگیها در تقویم وجود ندارد و باید در نسخههای بعدی پیاده سازی شود.
لطفا در صورتی که ویژگی خاصی نیاز دارید از طریق ایمیل amibct در گوگل آن را برایم بفرستید تا بخش نظرها وبلاگ به «نظرها» اختصاص یابد.
با تشکر
سلام
مشکلم رو براتون ایمیل هم کردم.گفتم اینجا هم عنوان کنم تا دیگران هم استفاده کنن.
از کد جاوااسکریپتی که نوشتین برای تقویم داشتم در پروژه ام استفاده میکردم که به یک مشکل برخوردم
مشکلم اینه که نمیخوام کلیلک بر روی یک تاریخ ، اون مقدار به یک تسکت باکس اضافه بشه بلکه میخوام یک
url
درست کنم و مقدار رو گت کنم با کلیلک روی هر مقداری
همچنین میخوام تاریخ شکسی نشون داده بشه برای کاربر ولی مقدار بصورت تاریخ میلادی ارسال بشه
یعنی مقدار اصلی میلادی باشه
یک راهنمایی میخواستم در این رابطه
متشکر
سلام
یک form ایجاد کنید و دو input یکی از نوع text برای تقویم و یکی از نوع hidden برای ارسال تقویم میلادی به سرور ایجاد کنید
اگر برای فیلد نوع text صفت name را مشخص نکنید محتوایش به سرور ارسال نمیشود. همان طور که در توضیحات بالا وجود دارد با مشخص کردن تنظیمات زیر میتوانید به هدف خود برسید. فرمت تاریخ ارسالی به سرور را نیز میتوانید به دلخواه مشخص کنید.
با سلام و تشکر چطور می توان extraInputID های متعدد برای Input های مختلف ایجاد کرد
با سلام.
این قابلیت در تقویم وجود ندارد و به صورت دستی باید برنامهنویسی شود
خیلی ممنونم. خیلی عالیه که این تقویم می تونه تاریخ رو به میلادی تبدیل کنه. خسته نباشید
salam
من از farsicalender.js استفاده کردم برای کنترل اینکه تاریخ وارد شده از تاریخ روز بیشتر نباشه یا کلا مقایسه تاریخ با تاریخ روز شمسی چیکارکنم؟
برنامه شما این قابلیت رو نداره!!!
کمکم کنید
سلام
سادهترین کار اینه که یک فیلد hidden اضافی ایجاد کنید و به کامپوننت بگید که تاریخ رو با فرمت JD در اون فیلد ذخیره کنه
فرمت JD یا روز ژولین عددی است که هر روز یکی به مقدارش اضافه میشود
با مقایسهی عدد محاسبه شده توسط کامپوننت و JD دلخواه میتونید به هدفتون برسید
برای محاسبهی JD روز فعلی از کد زیر استفاده کنید
بعد از اجرای این دستور، متغیر todayJD عدد JD متناظر با امروز رو نگهداری خواهد کرد
این عدد در PHP هم به سادگی قابل محاسبه است
میتونید همین عدد رو در بانک اطلاعاتی هم ذخیره کنید. مقایسه و مرتبسازی اون خیلی سادهتر از تاریخ است
كارتان عالي است . واقعا با ديدن يك پكيج به اين خوبي آن هم در يك سايت فارسي زبان شگفت زده شدم . خدا اجرتان بدهد .
موفق باشيد
مرسی از پاسختون.
این todayJD تاریخ روز شمسی رو نگهداری میکنه؟
بعد چطوری این todayjd رو با تاریخ وارد شده توسط کاربر مقایسه کنم؟ میخام قبل از ذخیره تو دیتابیس مقایسه انجام بشه...تاریخ تولید وارد شده با تاریخ روز مقایسه بشه و اگه بیشتر بود مثلا یه پیغامی بده.
بله
todayJD یک عدد هست که معادل امروز است
کامپوننت تقویم هم یک ویژگی دارد که میتواند JD روز انتخابی توسط کاربر را در یک فیلد ذخیره کند
روش استفاده از این ویژگی در توضیحات وجود دارد
شما میتوانید این دو عدد را با هم مقایسه کنید و در صورت نیاز به کاربر هشدار بدهید
لطفا در صورت حل نشدن مشکل از طریق ایمیل amibct در gmail گفتگو را دنبال کنید
سلام و درود و خداقوت بر استاد عزیز
خسته نباشید و تشکر بابت زحمات بی دریقتون
امکان نمایش inline برای این تقویم وجود نداره؟ یعنی نیازی به کلیک روی دکمه نباشه و همینجور از ابتدا باز نمایش داده بشود.
ارادت و آرزوی مزید توفیقات
سلام و تشکر از لطف شما
برای باز کردن تقویم از طریق اسکریپت با استفاده از متد showHidePicker روی شیئی که ایجاد کردید میتونید این کار رو انجام بدید
اگر منظور شما این باشه که تقویم همیشه باز باشه
فعلا این امکان وجود نداره
این گزینه را هم در برنامهی پیادهسازی قرار میدم
هر موقع که کمی فرصت پیدا کنم کارهایی هست که باید انجام بشه
سلام- فقط خواستم خیلی خیلی تشکر کنم. خیلی دنبال این تقویم گشتم . بسیار ممنون-همیشه موفق و پیروز باشید
خیلی ممنون
سلام
مرسی از کار بسیار خوبتون و اینکه دانشتون رو برای همه قابل استفاده میکنین
خیلی خیلی ممنون از شما که کار با ارزشتون رو به رایگان به اشتراک گزاشته اید.
به امید موفقیت روز افزون شما
آقا خیلی ممنون از این پروژه ، راضی باش ازش توی یک پروژه استفاده کردم و البته لینک وب سایت شما را هم درون سایت اضافه می کنم.
با تشکر مجدد
سلام و تشکر
خوشحالم از اینکه این کار تونسته اعتماد شما رو جلب کنه
موفق باشید
ممنون و بسیار عالی
سلام
بسیار عالی
آقا دمت گرم خیلی کاربردی بود.مرسی
با سلام مجدد
من در یک وب سایت تقویم فارسی شما رو بکارگیری کردم و مجدد از زحماتتون تشکر میکنم
مخصوصا با فرمت های قابل قبول و ویژه ای که برای این تقویم استفاده کردین
من تاریخ میلادی رو که در فیلد Extra نمایش داده میشه رو توی دیتابیس ذخیره کردم
حالا موقع ویرایش تاریخ چطور اون رو به شمسی برگردونم که مجدد بشه تاریخ رو ویرایش کرد
ممنون میشم اگه کمکم کنین .. آبا تقویم شما میلادی به شمسی رو هم تبدیل میکنه ؟
مرسی
سلام
بسته به زبانی که با آن برنامه مینویسید باید جستجو کنید و کتابخانهی مناسب برای تبدیل تاریخ را برایش بیابید
اگر زبان مورد نظر شما php باشد از این توابع که بنده آماده کردم میتوانید استفاده کنید
https://amib.ir/old2/downloads/PersianDateForPHP_by_AMIB.zip
با سلام
بنده می خواستم اینو داخل php استفاده کنم .
لطفا" لینک دانلود بالا رو درست کنید با تشکر
با سلام و تشکر
اصلاح شد
سلام و تشکر بابت تقویم بسیار عالی و زیباتون
با اجازه شما یه تغییر کوچیک تو کدتون دادم استفاده اش راحت تر میشه
1- در انتهای فایل اصلی اسکریپت کد زیر اضافه بشه
2- با یک خط کد میشه تمامی آی دی هایی که مثلا با pcal شروع میشن رو تبدیل به فیلد تاریخ کرد:
با سلام و تشکر از لطفا شما
کامنت شما را به انتهای توضیحات اصلی اضافه کردم
امیرمسعود جان عالی بود...
پیشنهاد میکنم github رو علم کنی...
هم سریعتر و هم با کیفیتتر میشه ورژنها رو کنترل کنی...
wiki و documentation و... هم که کامله...
سلام و تشکر
هنوز به نظرم پروژه کمی کار داره تا به شرایط ایدهآل برای متنباز شدن کامل تبدیل بشه
کامنتهای خیلی کمی در کد اصلی هست و کمی هم سیستم مدیریت رویدادها رو باید بهبود بدم
از طرف دیگه فکر میکنم با یک محیط حرفهای در میان برنامهنویسان ایرانی فاصله داریم و کمی برای این کارها زود است
با این حال وقتی شرایط از همه نظر بهتر بشود انشاءالله این کار را میکنم
با تشکر
با یک unminify ساده به حالت غیر فشرده دسترسی پیدا میکنیم...
شما متن باز و اولیه رو توی github قرار بدید، مردم به مرور آپدیتش میکنن...
از کامنت گذاریش تا جامع شدن ماژولها، اومدن نمونههای تکمیل شده با زبانهای برنامه نویسی متفاوت و...
به قدری سیستمهای مختلف توی GitHub هست که از همون نسخههای Minor شروع کردن و با کمک مردم بزرگش کردن.
اگر هم بحث یادگیری گیتهابه : http://try.github.io/
سلام
کد فشرده نشده رو برای چند نفر فرستادم هیچ بازخورد مثبتی دریافت نکردم
علتش هم همون نداشتن کامنت و فقر در زمینهی برنامهنویسی جاوااسکریپت هست.
استفاده از unminify هم کمک زیادی نمیکنه، چون کد فقط minify نشده، بهینهسازی هم شده قبلش هم کد پیچیده بوده
غیرممکن نیست ولی بیش از حد سخته
من با نظر شما کاملا موافقم اگه این کار بشه خیلی عالی خواهد بود . و خیلی های دیگه از جمله خود من میتونم توی توسعه کد کمک کنیم .
سلام
در حال حاضر کمی گرفتارم
سعی میکنم تا اندازهای کامنتهای کد را بیشتر کنم
و در اولین فرصت اون رو منتشر میکنم
با سلام و خسته نباشید
میخواستم بدونم این تقویم انتخاب کننده میلادی هم داره یعنی دیتا پیکرش به جای تقویم شمسی میلادی رو نشون بده و اونو بتونه در فیلد اضافی به شمسی تبدیل بکنه ؟
سلام
خیر. برای تقویم میلادی گزینههای زیادی وجود دارند
ولی اگر این امکان هم بهش اضافه بشه خیلی عالی خواهد شد
چون در بعضی فرم ها کاربر نیاز داره بعضی از فیلد ها رو میلادی بزنه و بعضی دیگه رو فارسی ....
مثلا برای ثبت یه بلیت پرواز خارج از کشور کاربر راحتره که تاریخ رو به میلادی بزنه و در ورود اطلاعات مشتری ،راحت تر اینه که تاریخ تولد فرد رو به شمسی وارد کنه ...
عالی میشه اگر اینو تو نسخه های آینده به سیستم اضافه کنید ...
خیلی هم تشکر از این اسکریپت عالی که زحمتشو کشیدید،حرف نداره ...
فقط اگه تو جایی مثل github یا bitbucket منتشر میشد ما هم میتونستیم توی توسعه کد کمکتون کنیم ...
فوق العاده بود..
ممنون واقعا بعد از این همه سال دیدم که هنوز تقویم جای کار داره و چقدر زیبا شما اینکار رو انجام دادید ، ممنون از سورس ، امکانش هست که من از توابع شما جهت ایجاد کامپوننت در wpf استفاده کنم ؟ و قطعا ذکر میکنم منبع تمام سورس ها رو !
بازم ممنون
با سلام و تشکر از لطف شما
باعث خوشحالی است
سلام خسته نباشید
بنده و همکارانی که با کتابخانه ارزشمند جناب عالی کار کرده اند1 مشکل اساسی داشتند.
1- کتابخانه شما ماسک نمی گیرد یعنی بر اساس فورمت تاریخ درج / های بین ماه و روز گذاشته شود و کاربر نتواند برای تاریخ همچین مقداری وارد کند 6666661/1111/111
اگر می تونید کتابخانه تون با لینک زیر ادغام نمایید.
http://digitalbush.com/projects/masked-input-plugin/
موفق باشید
سلام و تشکر از لطف شما
اگر دقت کرده باشید یکی از ویژگیهای این تقویم دریافت تاریخ با فرمتهای مختلف است
مثلا 1205 یک عدد قابل قبول برای این فیلد است
قرار دادن ماسک این ویژگی را از کار خواهد انداخت
نگرانی شما از دو جهت میتواند باشد
اول کارایی برای کاربر که با توجه به ۱۸ فرمت قابل قبول شاید جایی برای مطرح شدن نداشته باشد
و نگرانی دوم دریافت تاریخ صحیح در سمت سرور که آن با کمک فیلد اضافی به فرمت دلخواه شما قابل دریافت است و خالیبودن آن نیز نشان میدهد که تاریخ نادرست بوده
با تشکر
سلام مهندس
خواستم از شما بابت زحمتتون تشکر کنم
سلام
شما لطف دارید
با سلام
با تشکر از تقویم زیباتون
یک سوال داشتم initialDate حتما باید فارسی باشه؟ (برای این که تاریخ امروز را برایش set کنیم)
با سلام و تشکر
این پارامتر به صورت فارسی باید باشد( یا رشته یا آرایه )
برای تبدیل تاریخ میلادی به شمسی این کامنت را ببینید
با سلام و احترام وتشکر از راهنمایی های لازم , من از تقویم شما در کد jsp -java servlet page استفاده میکنم تمام بخش ها را درست عدد کرده ام اما نمیدونم چرا روی استایل ها مشکل دارد یعنی دکمه نمایش تقویم درکنار textboها قرارنمیگیرد آیا باید استایل را تغییرات داد
با سلام
در مورد بخش جاوا چیزی نمیدانم. برای اینکه متوجه بشوید اشکال نمایش تصویر چیست. با استفاده از Inspector در مرورگرهای Firefox یا Chrome روی محل نمایش دکمه کلیک کنید و بعد از اینکه محل دکمه را پیدا کردید، در بخش CSS بررسی کنید که محل اشاره شده برای تصویر درست است یا خیر. ممکن است لازم شود CSS را تغییر دهید یا محل ذخیره کردن تصویر را عوض کنید
با تشکر
آقا دمت گرم خیلی استفاده کردم از تقویمت تو یه پروژه بزرگم استفاده کردم جواب داد
مرسی
با سلام
ممنون از زحمات شما
در صورتیکه کاربر تاریخ اشتباه وارد کرد چطور می شود پیغام خطا نشان داد؟
با سلام
برای آگاه شدن از تغییر تاریخ توسط کاربر میتوانید از رویداد onchange که مثال آن به همراه بسته موجود است استفاده کنید
خالی بودن فیلد کمکی به معنی نادرست بودن تاریخ است
به علاوه از تابع isPersianDate هم برای بررسی صحیح بودن یک تاریخ میتوانید کمک بگیرید
با عرض سلام و خسته نیاشید
یک سئوال داشتم . چطور میشه دوتا تقویم با فیلد extra برای هر کدومدر یک صفحه داشت؟ دوتا تقویم را با کدی که در بالا نوشتید ر یک صفحه آوردم ولی با فیلد extra نتونستم. این کار را برای فرم جستجو بر اساس یک بازه تاریخی می خواستم.
با تشکر
با سلام
این کار مشکل خاصی ندارد
دو فیلد اضافی ایجاد کنید و id هر کدام را به یکی از فیلدهای اصلی مرتبط کنید
اگر فرمت فیلد کمکی را به صورت JD تعریف کنید، مقایسهی آن و جستجوی آن کار آسانی خواهد بود
سلام امیر آقا
من یک چنین حالتی دارم که با گرید اتوماتیک ایجاد میشه
می خواستم بدونم تو این حالت چون id ها یکسانند می توان با name که متفاوت برای هر input است آنها را تبدیل به تقویم کرد
با سپاس فراوان.
با سلام
خیر این امکان وجود ندارد
قرار دادن id منحصربهفرد برای هر عنصر کار آسانی است
سلام
دستتون درد نکنه واقعا خیلی عالی بود دنبال یه پلاگین خوب برای تاریخ بودم که پیدا کردم 🙂
فقط اگر امکانش بود که بر اساس کلاس المنت بشه اون ها رو استفاده کرد خیلی عالی میشد
یعنی به جای ِ اینکه تک تک المنت ها رو با ای دی انتخاب کنیم به صورت کلاس تعریف میکردیم .
باز هم ممنون 😉
با سلام
برای این کار دو روش در همین صفحه وجود دارد
یکی با کمک JQuery که در انتهای مطلب آمده است
و راه دوم هم قطعی کدی که در کامنتها قرار دادهام
با سپسا
سلام
ممنون از این تقویم زیبا و کاربردی
من از این که تقویم رو توی UpdatePanel استفاده کنم به مشکل برخوردم
یه دوستی گفت که از UserControl استفاده کرده!!
اما من نمیدونم چطوری 🙁
شما نمیتونین کمک کنین؟
راه دیگه ای نداره؟
ممنون
🙂
با سلام و سپاس
من اطلاعات زیادی در مورد زیرساخت داتنت ندارم. اشیایی که شما میفرمایید در مرورگر وجود خارجی ندارند و نامهای متناظر داتنت برای عنصرهای استاندارد وب هستند
باید بررسی کنید که داتنت چه عنصرهایی را قبل و بعد تقویم قرار میدهد و اشکال ایجاد شده را برطرف بفرمایید
سلام
بازهم تشکر میکنم از این حرکت زیبا
من تونستم از این تقویم درون آپدیت پنل استفاده کنم
گفتم شاید برای دیگران هم مفید باشه
دلیل این که این تقویم درون آپدیت پنل کار نمیکنه اینه که اسکریپت ها فقط در هنگام لود صفحه یک بار اجرا میشن و
وقتی که اطلاعات آپدیت پنل، آپدیت میشه تنظیمات تقویم از بین میره برای همین باید در هر بار آپدیت شدن صفحه توسط آپدیت پنل این تنظیمات یک بار دیگه اجرا بشن 🙂
که برای این کار میتونین از این کد استفاده کنین و اونو توی پیج لود صفحتون کپی کنین:
با سلام
من هم از اینکه اطلاعات خودتون را با دیگران به اشتراک میگذارید، سپاسگزاری میکنم
با تبدیل تابع A$ می شه از روش های دیگه هم استفاده کرد که برای من لازم بود:
با سلام
روش جالبی را برای این تغییر استفاده کردید
با سلام من نیاز به تاریخ هایی با فرمت 16-07-1392 ضمنا در یک فرم دو تا تاریخ یکی برای شروع و یکی برای پایان جستجو می خوام قرار بدم لطف می کنید در این دو مورد کمک کنید
با تشکر
با سلام
برای مورد اول میتوانید از فیلد کمکی استفاده کنید و یک تکنیک دیگر هم در کامنتها شرح داده شده که میتوانید آن را مطالعه کنید
برای مورد دوم هم فعلا تقویم این کار را به صورت اتوماتیک انجام نمیدهد. ولی با استفاده از تابع onchange خودتان میتوانید عملکرد مورد نیاز را پیادهسازی کنید
اقا کارت محشر بود،فوق العاده ممنون(عزا گرفته بودم سر این ماجرای تقویم:D)
با درود فراوان
آقا کارتون خیلی عالی بود فوق العاده زیبا و کارامد
خیلی خیلی ممنون
سلام و خسته نباشین
این کنترل تو صفحاتی که از مستر پیج inherit میشن کار نی کنه ؟
چرا ؟
با سلام و سپاس
بنده با سیستم دات نت آشنایی ندارم. حتما اشکالی در ترتیب فراخوانی اسکریپت یا اشکالی در شناسههای فیلدهای متنی وجود دارد
با بررسی سورس صفحهی نهایی و کمک گرفتن از Error Console مرورگر بررسی کنید که اشکال از کجا ایجاد میشود
با سلام و تشکر به خاطر این تقویم خوب
من یک مشکل دارم با این تقویم و اونم اینه که وقتی فرمی دارای تگ باشه و تقویم در خط قبل در بالای آن تگ استفاده بشه تقویم میره زیره تگ SELECT . این مساله فقط در IE6 اتفاق می افته . ممنون میشم اگه بررسی کنید .
با سلام
مرورگری که شما فرمودید( اسمش را نمیبرم 🙂 ) چندین سال است که از رده خارج به حساب میآید
لطفا از مرورگرهای بهروز استفاده کنید
پشتیبانی کامل از مرورگرهای قدیمی مثل موردی که شما فرمودید، نیازمند صرف زمان زیاد است و افزایش بیدلیل حجم کد را سبب میشود
با سپاس
سلام من توی پروژه خودم از این برنامه استفاده میکنم
چطوری میتونم عکس کنار تاریخ رو حذف کنم ؟
نمی خوام کنار input هام یک عکس تاریخ ظاهر بشه ممنون میشم راهنماییم کنید
با سلام
یکی از تنظیمات( option ) که میتوانید به آن مقدار بدهید «autoCreateButton» است
یعنی به صورت زیر:
با سلام. برای حالتیکه بخواهیم تشخیص دهیم مقدار ورودی توسط کاربر ، معتبر است یا خیر ، آیا تابعی وجود دارد. بطور مثال در رویداد onchange هرگاه مقدار غیر معتبر بود استایل خاصی را به input اعمال کنم. با تشکر.
با سلام
اگر هدف شما فقط تابع onchange باشد، این تابع به صورت پیشفرض تاریخ را ارزیابی میکند و اگر مقدار ارسالی صحیح نباشد مقدار false به تابع شما ارسال میشود
برای ارزیابی تاریخهای دیگر هم میتوانید از تابع isPersianDate استفاده کنید که یک رشته دریافت میکند و اگر بتواند آن را صحیح تشخیص دهد آرایهای شامل تاریخ فارسی را برمیگرداند. در غیر این صورت مقدار false در خروجی قرار میگیرد
با سلام
آیا امکان دارد این تقویم رو بصورت Selectable استفاده کرد ؟ یعنی همزمان بشه چند تاریخ توسط کاربر انتخاب بشه و در یک TextBox نمایش داده بشه .
با سلام
خیر این امکان وجود ندارد
با سلام و تشکر
داشتم با پلاگین jquery Dialog کار میکردم ولی dialog در وسط صفحه باز نمیشد بعد از کلی ازمون و خطا متوجه شدم وقتی اسکریپت تقویم رو لود میکنم این مشکل بوجود میاد. امکانش هست براتون چک کنید مشکلش برطرف بشه.
سپاسگذارم
با سلام
لطفا یک نمونه از کدی که با خطا مواجه میشود را برایم ایمیل کنید
amibct در gmail
با سپاس
سلام
ممنونم از اینکه مشکل رو برطرف کردید.
سلام
این مشکل باز نشدن jquery dialog در وسط صفحه رو چطور میشه حلش کرد؟
با سلام
لطفا یک بار دیگه بستهی به روزرسانی شده رو دانلود کنید و فایل اسکریپت رو در پروژهی خودتون جایگزین کنید
ممنون
سلام
لطفا امکان این رو اضافه کنید که با کلیک کردن روی input تاریخ باز بشه.
ممنون
با سلام
در حال حاضر تقویم با دوبار کلیک باز میشود
باید یک گزینه برای انتخاب بین دو حالت قرار بدهم
انشاءالله در نسخهی بعدی این تغییر هم انجام خواهد شد
سلام
اول از همه خیلی ممنون از این اسکریپت واقعا عالی که هیچ نقصی نداره
دوم در جواب دوستمون کافی این کد
ondblclick=function(a)
رو در فایل
js-persian-cal.min.js
پیدا کنی
و به این تغییرش بدی
onclick=function(a)
کاری فوقالعاده ارزشمند، اما سرشار از کمبود امکانات، بالاخص:
۱- callback برای رویدادهای مختلف
۲- نمایش تقویم به صورت باز شده بر روی صفحه (نه به صورت popup)
با سلام و سپاس
در مورد رویداد callback لطفا هر موردی که فکر میکنید نیاز است و در تقویم درج نشده، بفرمایید.
در مورد popup اگر منظورتان باز شدن پنجرهی جدید است، که این کار به دلیل وجود popup blocker روی مرورگرها غیرمنطقی و غیرقابل توجیه است
سپاس از شما و درود بر شما که برای توسعه وب فارسی/پارسی تلاش میکنید.
خداوند نگهدارتان باد.
ممنون خیلی کمکم کردی. امیدوارم منم بتونم تو این رشته به هم وطنام کمک کنم
با سلام
از اینکه چنین هدفی دارید خوشحالم و براتون آرزوی موفقیت دارم
سلام
برای استفاده در جی کوئیری با استفاده از فیلدهای اضافی می توان مانند زیر عمل کرد:
ابتدا تابع زیر را به انتهای فایل اسکریپت اضافه کرد.
و برای استفاده به این طریق می توان عمل کرد:
با سلام و سپاس
کد شما به انتهای توضیحات اضافه شد
عالی بود...
سلام و خسته نباشید
واقعا ممنونم مرسی
واقعا عالی و مفید بود دست شما درد نکنه
سلام عالی هست دست شما درد نکنه
فقط اگر بخواهیم فرمت تاریخ مثلا به صورت 12-01-1392 نشان داده بشه چکار کنیم؟
با سلام
در این نگارش تقویم، امکان عوض کردن شکل تاریخ در فیلد اصلی وجود ندارد
با استفاده از فیلد کمکی که توضیحات آن در قسمت بالا درج شده است، میتوانید این کار را انجام بدهید
اگر شناسهی فیلد کمکی را مساوی فیلد اصلی قرار بدهید، تاریخ با فرمت دلخواه در فیلد اصلی ذخیره میشود
ممنون ... جالب بود .
تشکر به خاطر اشتراک گذاری این ابزار مهم
سلام؛
آقا من میخوام این تقویم رو توی یکی از فیلد های یک جدول که تعداد سطرهای جدول بصورت دینامیک میتونه اضافه بشه استفاده کنم یعنی کاربر روی + کلیک میکنه و یک سطر به سطرهای جدول اضافه میشه ولی تقویم فقط برای اولین سطر کار میکنه و نمیدونم object رو برای سطرهای دیگه بصورت دینامیک چطوری ایجاد کنم.
میشه راهنمایی کنین؟
با سلام
در قطعه کدی که ارسال فرموده بودید، از دستور clone برای اضافه کردن ردیف به انتهای جدول کمک گرفته بودید
باید دو خط پس از این دستور اضافه بفرمایید تا مشکل شما حل شود
اول، تخصیص یک شناسهی منحصربهفرد به فیلد تاریخ موجود در ردیف جدید
و دستور دوم، ایجاد یک فیلد تاریخ جدید با استفاده از شناسهی بالا
قطعه کدها آزمایش نشده و ممکن است خطایی جزئی داشته باشند
دست شما درد نکنه آقای امیر مسعود. کار بسیار حرفه ای، پراستفاده و عالیی ارائه داده اید و من هم به سهم خود تشکر میکنم. من لازم است که تاریخ میلادی را به شمسی تبدیل کنم:
چگونه میتوان تاریخ میلادی را به عنوان ورودی به این تقویم داد؟
من در کامنتهای بالا مشابه این سوال را دیدم اما جوابی نیافتم.
با سلام و تشکر
بهترین راه این است که تاریخ را در سمت سرور به شمسی تبدیل کنید. با این حال
یک قطعه کد در کامنتهای بالا هست که از دستور gregorian_to_jd در آن استفاده شده
و همچنین یک تابع دیگر هم هست به اسم jd_to_persian که همراه بسته وجود دارد
jd یا julian day یک مدل تاریخ عددی است. برای تبدیل تاریخ میلادی به شمسی، اول تاریخ میلادی را با کمک کدی که بالاتر عرض کردم به jd تبدیل کنید بعد با استفاده از jd_to_persian آن را به تاریخ شمسی تبدیل و از آن استفاده کنید
در نگارش جدید تقویم که به دلیل مشغلهی زیاد هنوز منتشر نشده، نیازی به انجام این کار نیست و تبدیل تاریخ میلادی و شمسی در کامپوننت تعبیه شده است
سلام مرسی من استفاده کردم و خیلی عالی هست یک دنیا ممنون
سلام خدمت آقای امیر مسعود عزیز
اولا خدا خیرت بده دوما خدا خیرت بده سوما هم خدا خیرت بده
امیر اقا واقعا ازتون ممنونم,
خیلی کار مارو راحت کردین یعنی از راحت هم یک چیزی اونترفتر شد 😀
انشالله همیشه موفق باشی
خدا به همرات
با سلام و سپاس
از اینکه راضی بودید خوشحالم
نوروز خوبی داشته باشید
سلام
دستتون درد نکنه بسیار مفید و کاربردی بود
تو سایتم استفاده کردم ازش
http://www.bimeplus.com/omr.php?tabid=37
فقط یک سوال چطوری میشه ماه های تک رقمی 1تا 9 رو بصورت زیر بنویسیم ؟
مثلاً 01 یا 02 یا .... 09 ؟
با سلام و تشکر
در این نگارش، امکان انجام این کار وجود ندارد
با استفاده از فیلد کمکی میتوانید تاریخ را به فرمت دلخواه به سرور بفرستید
اگر در کامنتهای بالا نگاه کنید، با یکی دادن شناسهی فیلد اضافی در فیلد اصلی، میتونید تاریخ رو به فرمت دلخواه در فیلد اصلی نشون بدید
که من این کار رو توصیه نمیکنم
سلام.چطور میشه فیلد اولیه رو تاریخ روز قرار داد؟
این منظورمه
با سلام
سادهترین راه اینه که از سمت سرور تاریخ روز رو بگیرید و در فیلد قرار بدید
برای استفاده از جاوااسکریپت:
با استفاده از توضیحات این کامنت هم میتونید روش گرفتن تاریخ روز رو در اختیار داشته باشید
درج یک تاریخ خاص به صورت پیشفرض هم در مثالها موجود است
با سپاس
با سلام
خیلی خوب بود اگر زمان هم می توانستید در آن بگنجانید. تا بتوان ساعت و دقیقه را نیز در فرم ها استفاده نمود.
با سپاس
یه راه حل خیلی مبتدیانه و دم دستی پیدا کردم برای اینکه فرمت تاریخ ۱۰ کارکتری(yyyy/mm/dd) بشه.فایل ادیت رو از اینجا میتونید بگیرید.
https://dl.dropboxusercontent.com/u/18400786/js-persian-cal.min.js
با سلام و سپاس
نگارش جدید تقویم که این قابلیت را در خود دارد حاضر است
و متاسفانه همچنان به دلیل کمبود وقت قادر به انتشار آن نبودهام
امیدوارم بتوانم هر چه زودتر صفحهی جدید تقویم و مستندات لازم را بنویسم تا نگارش جدید منتشر شود
با سپاس دوباره
خیلی عالی بود
با تشکر .
سلام
دستتون درد نکنه ، خیلی خیلی ممنونم 🙂
با سلام و تشکر بابت تقویم شمسی
نکته ای که به نظر می رسد این است که برای تقویم از فرمول معروف به 2820 ساله استفاده شده است. که این روش با قاعده رسمی تقویم شمسی کشور در برخی سالها همخوانی ندارد. به عنوان مثال سال 1403 سال کبیسه است ولی در فرمول بکار رفته توسط شما سال 1404 کبیسه اعلام شده است. روش رسمی که فعلا از آن استفاده می شود دوره 33 ساله است.
مقاله های زیادی در این باره از اهل فن موجود است که می تواند مشخص کننده تفاوت های دو سیستم باشد.
با سلام
از دقت و راهنمایی شما سپاسگزارم
در اولین فرصت سعی میکنم برای پیدا کردن یک راه حل مناسب کارهای لازم را انجام بدهم
سلام
می خواستم بدونم آیا کد جاوا اسکریپت شما امکان تبدیل تاریخ شمسی به میلادی و بلعکس رو هم داره یا نه ؟ اگه میشه چطوری ؟
می خوام در یک لیست ( مثلا گرید )بصورت جاوا اسکریپت تاریخ ها رو تبدیل کنم و نمایش بدم
تشکر فراوان
با سلام
بله
با استفاده از چهار تابع gregorian_to_jd، persian_to_jd، jd_to_gregorian و jd_to_persian که روش استفاده از آنها در کامنتهای بالای موجود است، میتوانید تاریخها را به یکدیگر تبدیل کنید
با واسط قرار دادن jd میتوانید از تاریخ میلادی به شمسی و شمسی به میلادی عملیات تبدیل را انجام بدهید
با سلام و سپاس فراوان.
میخواهم وقتی کاربر روی کامپوننت ، کلید space را فشار داد، تاریخ امروز درون کامپوننت نمایش داده شود. تابعی که تاریخ امروز را بر میگرداند چیست؟
با سلام
برای دریافت تاریخ امروز لطفا به این کامنت مراجعه کنید:
https://amib.ir/weblog/?page_id=316#comment-636
برای گرفتن کلید space و درج این تاریخ لازمه که مقداری کدهای جاوااسکریپت نوشته بشه
سلام
با تشکر از کار بسیار عالی و کم نقص شما
میخواستم ببینم چطور میتونم این تقویم رو غیر فعال کنم؟
با سلام و تشکر
برای غیرفعال کردن تقویم میتونید ویژگی enabled رو روی شیء تقویم به false تغییر بدید
با عرض سلام مجدد
من یه مشکلی دارم، میخواستم اگه ممکنه راهنمایی بفرمایید.
موضوع اینه که من دوتا کنترل تقویم دارم که هر کدوم یه فیلد اکسترا برای ذخیره مقدار میلادیشون دارند و مقدار تقویم دوم به اولی وابسته است، یعنی میخوام مقدار تاریخ دوم از تاریخ اول بزرگتر باشه، اینو من توی رویداد onchange هندل کردم، به این صورت که اگه کاربر مقداری وارد کرد که بیشتر از تاریخ اولی بود بعد از نمایش پیغام مناسب، مقدار تاریخ دوم رو برابر با تاریخ اول میذاره( یعنی حداقلی که میتونه داشته باشه) و این کار رو هم با توابع jQuery انجام دادم. حالا مشکل اینجاست که وقتی مقدار یک تقویم دستی عوض نشه و با توابع jQuery صورت بگیره ظاهرا مقدار فیلد اکسترا تغییر نمیکنه، درسته؟ و این باعث شده هر جا دستی عوض نشه من به نتیجه اشتباه برسم. آیا راهی وجود داره بتونم این مشکل رو هندل کنم؟ ممنون میشم کمکم کنید.
با سلام
لطفا برای پر کردن تاریخ از دستور fillDateField روی شیء ایجاد شده تقویم استفاده کنید
ممنون
بسیار کار آمد بود
مرسی
با سلام
واقعا همچین مواردی در وب فارسی کمتر پیدا میشه.
از زحمات شما واقعا متشکرم
با سلام
من هم از لطف شما ممنونم
مگه ادعا نمیکنید که این نرمافزار تحت لیسانس GNU General Public License هست؟ پس چرا لینک دانلود کد سورستون رو نمیتونم پیدا کنم؟
با سلام
در مجوز GPL الزامی وجود ندارد که سورس اصلی همراه بستهی دانلودی وجود داشته باشد. تا امروز هم هر کسی که درخواست ارسال سورس را داشته بنده برایش ارسال کردهام.
برای شخص شما البته روش تفاوت دارد. در صورت تمایل یک درخواست رسمی از طریق ایمیل amibct در gmail ارسال بفرمایید و آدرس خودتان را بفرستید تا پس از دریافت هزینههای مربوطه آن را روی سیدی برایتان بفرستم
با تشکر
دوست عزیز بسیار تقویم عالی است. از شما بسیار متشکرم.
اگر امکانش هست در فیلد Extra قابلیت ثبت مقدار تاریخ به صورت float مطابق با smallDate و Datetime2 محیط SQL Server را نیز اضافه کنید.
در هر صورت تقویم بسیار مناسبی می باشد. ممنوت از زحمات شما
با تشکر
سعی میکنم پیشنهاد خوب شما را در نگارش بعدی قرار بدهم
سلام من وقتی از این تقویم استفاده می کنم موقع postback تقویم حذف میشه چیکار باید بکنم؟
با سلام
هر بار که صفحه بارگزاری میشه دستورات تبدیل فیلد متنی به فیلد تقویم هم باید صدا زده بشه
علاوه بر بخشی که شما این کد رو نوشتید، در یک بخش دیگر که بعد از PostBack هم فراخوانی میشه باید این کد رو تکرار کنید
از این اسکریپت استفاده کن:
بسیار ممنون.
دوست من فوق العاده بود.
دوست خوبم به خاطر زحمتی که کشیدد و وقتی که گذاشتد بسیار سپاسگذارم. تقویم شما واقعا بهترین تقویم فارسی از این نوع روی وب هستش.
بنده یک درخواستی دارم و اون اینکه تقویم رو طوری بنویسی که با یک کلیک کردن روی فیلد باز شه. در حالت عادی کاربر نمی دونه که باید برای باز شدن تقویم دوبار روی آن کلیک کنه که این باعث می شه که فکر کنه این یک فیلد تکست معمولیه. و خوب به نظر من این اشکال بزرگیه.
البته من نظرات رو که می خوندم دیدم که یک نفر دیگه هم همین مشکل رو بیان کرده بود و فرموده بودید که این مشکل رو برطرف می کنید. حالا من نمی دونم وقت کردید یا نه.
متشکرم . موفق باشید.
با سلام و تشکر
برای انجام این تغییر میتوانید فایل اسکریپت را باز کنید و عبارت ondblclick را با onclick عوض کنید
با تشکر
بسیار عالی
خسته نباشید.
عالی بود
مرسی از زحماتتون
من در چند پروژه اخیر از این تقویم استفاده کرده ام. بسیار عالی! واقعاً دستتون درد نکنه. تقریبا همه احتیاجات من رو رفع کرده.(استفاده در دات نت با حداقل کد، بدون نیاز به تغییر کد ها ، کاملاً کارآمد... )
قصدم این بود که مجدداً از شما برای زحمت بسیاری که کشیدید تشکر کنم. خدا خیرتون بده.
از لطف شما سپاسگزارم و از اینکه تقویم مورد رضایت شما بوده خوشحالم.
سلام خسته نباشید
ممنون از تقویم بسیار عالی تون
من تو یکی از پروژه هام به یک مشکل برخوردم
و اونم اینه که میخوام بدونم که مثلا امروز که یکشنبه 30 شهریور 1393 هست ، 30 شهریور سال 1394 چند شنبه میشه؟
همینطوری به سمت سال های بعدی و قبلی (30 شهریور سال 1398 شهریور سال 1370 شهریور سال 1362)
ممنون میشم یک راهنمایی بفرمایید که بدونم چجوری باید عمل کنم
تشکر
با سلام
اگر منظور شما استفاده از جاوااسکریپت باشد، دو راه ساده وجود دارد
دستور getDay روی شیء Date در جاوااسکریپت روز هفته را بر میگرداند
همین طور، محاسبهی باقیمادهی تقسیم تاریخ JD بر عدد ۷ میتواند شما را به نتیجه برساند.
برای تبدیل تاریخ شمسی به تاریخ میلادی یا JD میتوانید از چهار تابع gregorian_to_jd، persian_to_jd، jd_to_gregorian و jd_to_persian که روش استفاده از آنها در کامنتهای بالای موجود است استفاده کنید.
ممونم
بسیار لطف کردید
با تشکر از شما. یه سوال. چطور میشه تاریخ رو به حروف تبدیل کرد به همراه روزش؟
مثال : ۱۳۹۳/۰۷/۰۳ –> پنج شنبه ۳ مهر ۱۳۹۳
با سلام
در مورد سال و روز ماه که مشکلی وجود ندارد.
ماه (مهر) و روز هفته(پنجشنبه) متغیرهایی هستند که باید محاسبه شوند
ماه هم که با استفاده از یک آرایه قابل محاسبه است. تنها روز هفته است که نیازمند انجام محاسبات است
با استفاده از دستور getDay روی شیء Date این کار شدنی است.
همچنین میتوانید تاریخ شمسی را با استفاده از دستور persian_to_jd که مثال آن در کامنتهای قبلی موجود است، به فرمت JD تبدیل کنید و با محاسبهی باقیماندهی تقسیم JD بر ۷ به روز هفته برسید.
سلام
اگر بخواهیم در بدو ورود به صفحه تقویم فعال و در حال نمایش باشد(و هرگز مخفی نشود) چه باید کرد ؟
با سلام
این نسخه در حال حاضر امکان انجام این کار را ندارد
سلام،
آقا با تشکر از به اشتراک گذاشتن اسکریپت خوبتون، جسارتا در تکه کد jQuery دوم persiancalendar باید با حرف c کوچک نوشته بشه با توجه به اینکه در تکه کد اول تابع با c کوچک تعریف شده.
با تشکر از لطفا شما
کد اصلاح شد
سلام و خسته نباشید
آقای امیرمسعود جان می خواستم از زحمات شما بابت تهیه و انتشار این کار زیبا تشکر کنم و سلامتی و موفقیت هر روز شما را آرزومندم
اراتمند سامان
با سلام و تشکر
شما لطف دارید
با سلام
فقط خواستم واقعا تشکر کنم از کمکی که به بسیاری از افراد ایرانی کردید.
البته از اینکه می بینم این کد بدون دخالت جی کوئری کار مینه واقعا خوشحال شدم زیرا دیگه با افکتهای دیگه در صفحه قاطی نمیشه.
واقعا ممنون.
سلام. از محبت شما متشکرم
سلام
آقا دستت درد نکنه.. خیلی عالی و زیبا هست.
من توی یه پروژه ازش استفاده کردم و خیلی عالیه..
عذرخواهی میکنم که وقتتونو میگیریم
یک سئوال دیگه دارم که اگر من خواسته باشم کاری کنم که تقویم زمانی بازشود که کاربر روی
کلیک کند باید چیکار کنم ؟ ممنون
یعنی همانند کلیک بر روی a.pcalBtn
برای باز کردن تقویم، باید از متغیری که موقع ایجاد تقویم مشخص کردید، استفاده کنید
مثلا:
با سلام و تشکر فراوان از زحمات شما ، در تدوین چنین ابزاری
می خواستم بدانم ساده ترین راه برای استفاده از چند یا چندین فقره از فیلد تاریخ مختلف در یک صفحه ، ترجیحا بدون jquery و با حداقل تغییر در کد اصلی چیست ؟ ( نتوانستم پاسخم را در میان پرسش و پاسخها بیابم )
در پاسخ یکی از دوستان فرموده اید که نسخه جدید با خروجی و فرمت YYYY/MM/DD آماده آپلود است و مشکل کمبود فرصت است . آقا قربونت ، انتظار طولانی شده !
با سلام
در کامنتهای بالا یکی از کاربران روشی برای ذخیره سازی تاریخ اصلی با فرمت دلخواه در فیلد اصلی معرفی کرده بودند
با مشخص کردن فیلد اصلی هم به عنوان محل ورود محتوا و هم به عنوان فیلد اضافی میتوانید به هدفتون برسید
نگارش جدید تقویم آماده است ولی همچنان درگیر کارهای ناتمام هستم و فرصت نوشتن مستندات برای آن را نکردهام
به دلیل تغییرات بنیادین، استفاده کردن از این نگارش بدون مستندات هم تقریبا کار مشکلی است
و یک دلیل دیگر هم اینکه نگارش جدید قرار است در دو نگارش استاندارد و حرفهای منتشر شود که هنوز این تقسیمبندی هم انجام نشده است
نوشتن یک تقویم که بدون مشکل روی مرورگرهای مختلف کار کند کار بسیار سختی است. با وجود گذشت چند سال از توسعهی این تقویم هنوز هر از چندگاهی اشکالهای جدید در آن پیدا و برطرف میشود.
با تشکر
سلام بر شما...
از کار با ارزشتون قدر دانی میکنم...
خیلی کار خوب و خوش دستی هست نسبت به سایر تقویم هایی که دیدم.
پیمایش سال که داخلش گذاشتید شدیدا کارم رو راه انداخت.
امیدوارم موفق باشید در تمامی مراحل زندگیتون...
فقط می تونم بگم دمت گرم
با شکر فراوان. واقعا کارتون عالیه. ممنون که این تقویم رو در اختیار عموم قرار دادید
واقعا ممنون هموطن عزیز
تشکر هموطن
سلام.میخواستم بدونم چطور میشه بعضی از روزهای ماه رو مشخص کنیم و به تقویم بدبم تا به حالت غیر فعال در بیان
با سلام
چنین امکانی در تقویم وجود ندارد
برای انجام این کار اگر با جاوااسکریپت آشنایی کافی داشته باشید، باید کد فشرده نشده تقویم را برایتان ارسال کنم تا امکانات لازم را به آن اضافه کنید
یا اگر روزهای مورد نظر قبل از تاریخ خاص یا بعد از تاریخ خاصی باشند، این امکان در نگارش حرفهای تقویم که به صورت تجاری قابل تهیه است، موجود است
لطفا برای ادامه گفتگو از ایمیل amibct در gmail استفاده کنید.
با تشکر
سلام و عرض ادب جناب ایرانی عزیز
مزاحمتون نمیشم و وقتتون رو نمیگیرم
فقط خواستم ازتون تشکر بکنم برای تقویم فارسی
بی نهایت کارآمد بود
سلام
چجوری میشه تاریخ رو از آبجکت گرفت؟
var t = new AMIB.persianCalendar('from_cal')
چه متدهایی از t رو باید صدا زد تا مثلا تاریخ رو بهمون برگردونه؟
ممنون
با سلام
برای خواندن مقدار تاریخ، از دستورات معمول جاوااسکریپت روی فیلد اصلی و فیلد کمکی استفاده کنید
شیئ ایجاد شده در سازندهی بالا تاریخ را در خود نگهداری نمیکند
سلام
اگر صفحه Scroll داشته باشه، تقویم جابجا نشون داده میشه (در جای اولیه قبل از Scroll کردن).
لطفا راهنمایی کنید.
تشکر
با سلام
این اشکال در نگارش جدید تقویم برطرف شده است که به علت کمبود زمان برای نوشتن مستندات و اصلاحات نهایی هنوز منتشر نشده است
امیدوارم در ابتدای سال آینده نسخهی جدید قابل انتشار باشد
در حال حاضر اگر با جاوااسکریپت آشنایی کافی داشته باشید، اعلام بفرمایید تا کدهای فشرده نشده نسخهی فعلی را برای شما ارسال کنم تا مشکل را برطرف نمایید
با سپاس
سلام
تشکر از لطفتون، با جاوا اسکریت هم کم و بیش آشنایی دارم، ولی اگر فکر میکنید ظرف چند هفته آینده نسخه جدیدش آماده بشه، ترجیح میدم صبر کنم. کارهای دیگری هست که میشه در این مدت انجام داد
ببخشید در پاسخ دادن اشتباه کرده بودم. اینجا باید مینوشتم که منتظر آپدیت جدیدتون هستیم.
تشکر از لطفتون
سلام
ممنون از تقویم خوبتون...
آیا تقویمتون قابلیت load تاریخ میلادی رو هم داره؟ چگونه؟
با تشکر
با سلام
این نسخه از تقویم از تاریخ میلادی پشتیبانی نمیکند
نگارش حرفهای که به صورت تجاری قابل خریداری است، این امکان را در اختیار شما قرار میدهد که به انتخاب شما یا به انتخاب کاربر، تاریخ شمسی یا میلادی دریافت شود و شمسی یا میلادی به انتخاب شما به سرور ارسال گردد
در صورت تمایل به کسب اطلاعات بیشتر، با ایمیل amibct در gmail مکاتبه بفرمایید
سلام
اگه بخوام توی تقویم زیر هر روز مثلا یه قیمت هم نشون بدم چجوری میتونم اینکار رو انجام بدم؟
با سلام
برای انجام این کار باید سورس تقویم را تغییر بدهید، در صورتی که مهارت کافی برای ویرایش کدهای جاوااسکریپت را دارید، لطفا از طریق ایمیل amibct در gmail برای بنده پیامی ارسال بفرمایید تا سورس فشرده نشده را برایتان بفرستم
با سلام و تشکر از زحمات شما
آیا میتوان مقدار وارد شده در فیلد اصلی (تاریخ شمسی) توسط این اسکریپت ماه و روز را دو کاراکتری محاسبه کند.
یعنی الان مثلا ۰۱۰۸ را به ۱۳۹۶/۸/۱ تبدیل می کند در حالی که ۱۳۹۶/۰۸/۰۱ مورد نظر من است.
توضیحی داده بودید که شناسهی فیلد اصلی را به عنوان فیلد کمکی میشود استفاده کرد. با این کار مقدار معادل میلادی در فیلد قرار میگیرد و نه شمسی.
ظاهرا در فیلد کمکی معادل میلادی تاریخ شمسی وارد شده، قرار می گیرد، تصور من مقدار شمسی با هر فرمت دلخواه بود.
با سلام
اگر فرمت فیلد اضافی شما میلادی باشد، با نگارش فعلی تقویم، نمیتوانید این کار را انجام دهید.
نگارش جدید و تجاری تقویم این امکان را دارا میباشد.
اگر با کدنویسی جاوااسکریپت هم آشنایی داشته باشید، میتوانم کد فشرده نشده تقویم را برایتان ارسال کنم تا امکان فوق را به آن بیفزایید.
در صورت تمایل به استفاده از گزینههای فوق، لطفا با ایمیل بنده amibct در gmail مکاتبه بفرمایید.
با سلام مجدد
منظورتان از اگر فرمت فیلد اضافی شما میلادی باشد، برایم روشن نیست. در مثالهای شما YYYYMMDD فرمت فیلد اضافی است که قابل فهم است.
حالا فرمت شمسی چه میتواند باشد؟
با سلام
لطفا راهنمای تقویم را با دقت مطالعه بفرمایید
فرمت فیلد اختیاری توسط شما میتواند تعیین شود
چطور میتوان تابعی را هنگامیکه تاریخ انتخابی بر روی input مورد نظر شما ست میشود، فراخوانی نمود؟
بهتر نبود تقویم طوری دیده میشد که بعد از ست شدن تاریخ بر روی input مورد نظر، تابع onchange همان input نیز فراخوانی شود؟
برای مثال میتوانید لینک زیر را مشاهده کنید:
https://stackoverflow.com/questions/6471959/jquery-datepicker-onchange-event-help
با سلام
لطفا مثال همراه بسته را مشاهده کنید
یک Event مخصوص این کار در تقویم وجود دارد
با سلام
و تشکر بابت کار خوب شما
یک سوال داشتم
چرا وقتی با jquery تابع click برای a.pcalBtn را صدا می کنیم، کار نمی کند و تقویم را باز نمی کند؟
با سلام
به دلیل اینکه این تقویم با jQuery توسعه پیدا نکرده است، این اتفاق رخ نمیدهد
امیر آقا سلام، ممنون بابت این مطلب مفید.
من یه پروٰژه با انگولار ۴ مینویسم یه تقویم شمسی درست و حسابی پیدا نکردم تا اینکه مطلب شما رو دیدم و برای نیاز من خیلی مناسب هست. اما سوالم اینه شما میتونید راهنمایی کنید چه جوری این رو به پروژه اضافه کنم؟ فایل های css و js رو به ndex اضافه کردم اما فقط اون دستور سوم برای تبدیل به تاریخ رو نمیدونم چه جوری توی پروژه اضافه کنم؟
ممنون اگه راهنمایی کنی.
با سلام
در این خصوص اطلاعاتی ندارم. لازمه که تسلط کافی به Angular داشته باشید و با مطالعهی مستندات تقویم این دو را با هم هماهنگ کنید
با سلام . در ابتدا تشکر ویژه و فرآوان دارم ازتون . حدود یک سال هست که دارم از کامپوننت شما در پروژه هام استفاده میکنم . بسیار هم راضیم . و اما بعد ....
در پروژه پیش رو احتیاج به این دارم که تاریخ ابتدایی تقویم (تاریخی که بعد از کلیک بصورت پیش فرض انتخاب شده) رو در هر صفحه مجزا و متفاوت ارائه بدم . می خوام بدونم این کامپوننت ابزار تنظیماتی برای این موضوع داره؟
با سلام
اگر منظور شما defaultDate باشد، یعنی تاریخی که در صورت نادرست بودن یا خالی بودن فیلد، به کاربر نشان داده میشود، در مثالها موجود است
اگر منظور شما مقدار اولیه است که در هنگام بارگزاری صفحه در فیلد دیده میشود، این مقدار توسط شما قابل پر شدن میباشد
با تشکر
سلام وقتتون بخیر
ممنون از مقاله مفیدتون
ببخشید امکان تعریف کردن min, max date وجود داره؟
با سلام
این قابلیت در نسخهی رایگان وجود ندارد. در صورت تمایل میتوانید جهت تهیهی نسخهی تجاری با ایمیل amibct در gmail مکاتبه نمایید.
با تشکر
سلام
چه جوری میتونیم بفهمیم تاریخ انتخاب شده چند شنبه است؟ آیا تابعی برای اون در ابزار شما وجود دارد؟
ممنون میشم راهنمایی کنید.
متشکر.
با سلام
اگر تاریخ انتخاب شده را به صورت JD دریافت کنید که یک عدد است، با جمع و تقسیم میتوانید آن را به روز هفته تبدیل کنید
یه مشکلی هست....اگه بخوایم از یک تقویم دوبار استفاده کنیم دومی کار نمیکند
خودتون رو نسخه اصلی امتحان کنید و مثلا تقویم 1و3 رو بذارید دومی کار نمیکنه
من دوتا تاریخ میخوام که نمیشه...لطفا بررسی کنید
با سلام
در مثالهای بالا که به صورت آنلاین هم موجود است، تقویم به درستی کار میکند
بررسی کنید که چه اشکالی در کدهای شما وجود دارد
خیلی خوب توضیح دادید
خیلی خوب طراحی کردید
زحمت کشیدید
من در طراحی سایت از برنامه شما استفاده کردم
عالی بود
تشکر
سلام
برای تغییر دادن خود تقویم باید چه کار کرد چون کد های html رو نمیشه پیدا کرد مثلا من می خوام بجای علامت > یا >> از فونت یا ایکون استفاده کنم
اگر امکان داره راهنمایی کنید برای تغییر این موارد باید چه کار کنم ؟
با سلام
تقویم با استفاده از دستورات جاوااسکریپت ایجاد میشود و کدهای html به شکل معمول در آن استفاده نشده است
اگر اطلاعات کافی برای ویرایش کدهای جاوااسکریپت را دارید، جهت دریافت نسخهی فشرده نشده تقویم به ایمیل بنده به نشانی amibct در gmail پیام بدهید
سلام وقت بخیر و خسته نباشید
این توقیم واقعا عالی هستش و ما داریم ازش استفاده میکنیم
فقط یه سوال داشتم اونم اینکه چجوری میشه ورودی تاریخ رو که کاربر بصورت دستی وارد کرده validate کرد
همچنین من دو تا باکس دارم برای تهیه گزارش که کاربر میاد از بازه تا بازه ای رو انتخاب میکنه و گزارش رو براساس اون فیلتر میکنه من میخوام مقدار تاریخ تکس باکس اول از تکست باکس دوم بیشتر نباشه چجوری میشه این عمل رو انجام داد؟باتشکر
با سلام
تاریخ وارد شده توسط کاربر به صورت خودکار ارزیابی میشود و اگر صحیح باشد، تاریخ در فیلد extra پر میشود
برای استفاده بین دو فیلد، این نسخه قابلیت فوق را ندارد و در نسخه حرفهای که به صورت تجاری قابل ارائه میباشد این قابلیت وجود دارد
در صورت تمایل با ایمیل بنده amibct در gmail در تماس باشید
با تشکر
با سلام
وقت بخیر و خسته نباشید
بسیار ممنون از وبلاگ مفیدتون
سوالی که من داشتم اینه که چجوری میشه که یه تقویم طراحی کرد که همزمان شامل تقویم شمسی و میلادی باشه?
یعنی هر دو تاریخ همزمان تو جدول باشه
ی تقویم مثل سایت time.ir
ممنون میشم اگه راهنمای کنین
با سلام
انجام این کار به اطلاعات کافی در مورد تقویمهای مختلف و داشتن مهارت کافی برنامهنویسی و صرف زمان برای انجام کار وابسته است
ممنون از پاسخگویی ...
آیا دونستن Javascript و Jquery در کنار HTML و CSS کافیه یا نیاز به زبان دیگه ای هم هست?
چون من در حال ساخت سایتی هستم که نیاز دارم ۲-۳ تا تقویم رو همزمان نشون بدم
دقیقا مثل سایت time.ir
ممنون که وقت میزارین و جواب میدین ...
با سلام
این کار معمولا به برنامهنویسی سمت سرور هم نیاز دارد
با تشکر
شما میتونین این کار انجام بدین ?
و اینکه چقد زمان لازم داره ?
خیلی ممنون
لطفا اطلاعات کامل را از طریق ایمیل amibct در gmail ارسال فرمایید تا بررسی شود
سلام.
نمیدونم چرا با بوت استرپ کنار نمیاد
من روی فیلد تنظیم کردم ولی دوبار باید کلیک کنین رو فیلد تا پنجره تقویم رو بیاره
مشکل از چیه؟
ممنون از پاسختون
با سلام
با توجه به اینکه ظاهرا تقویم با دوبارکلیک باز میشود، ممکن است مشکل شما عدم نمایش دکمه اضافهای باشد که کنار فیلد قرار میگیرد و به دلیل تنظیمات css بوت استرپ نمایش داده نمیشود
باید بررسی دقیقتری انجام دهید و مشکل را برطرف نمایید.
با سلام و تشکر بابت وبلاگ مفیدتون.
سوالی داشتم اینکه چطور میتونم در این تقویم روز های قبل از تاریخ امروز را disabled کنم که قابل انتخاب کردن نباشند؟
سپاسگزارم
با سلام
این تقویم امکان فوق را ندارد. در صورتی که تمایل دارید برای دریافت کد فشرده نشده تقویم و انجام اصلاحات لازم با ایمیل بنده amibct در gmail تماس بگیرید
نگارش حرفهای تقویم هم که به صورت تجاری قابل استفاده است، این قابلیت را دارد
سلام لطفا جواب بدین... چطور میتونم رخداد change رو برای این تقویم تشخیص بدم ... لطفا کد آن را قرار دهید... با توجه به اینکه element input تا زمانی که کاربر به صورت دستی تغییر در آن ایجاد نکند رخداد change فراخوانی نمیشود. یعنی اگر کاربر تاریخی رو انتخاب کند و مقدار input مورد نظر به تاریخ مورد نظر تغییر کرد ما نمیتوانیم در رخدادchange این را تشخیص دهیم . لذا آیا این تقویم تابعی داره که ما با استفاده از اون تشخیص بدیم تاریخ تغییر کرده است یا خیر ؟؟؟؟؟؟
با سلام
لطفا مثال همراه بسته را مشاهده بفرمایید
با سلام
تشکر می کنم بابت زحماتی که کشیدین واقعا تقویم خوب و حرفه ای بود.
سپاسگذارم
با سلام
تشکر می کنم بابت زحماتی که کشیدین واقعا تقویم خوب و حرفه ای بود.
سپاسگذارم
سلام
من از این تقویم استفاده میکنم چطور میتونم روز های آتی رو غیر فعال کنم؟(کاربر نتونه تاریخی که فرانرسیده رو انتخاب کنه)
با سلام
این قابلیت در تقویم وجود ندارد. برای انجام این کار سه گزینه در اختیار شماست
۱- یا هنگامی که تاریخ انتخاب شد، با کدهای خودتان بررسی کنید که تاریخ صحیحی است یا نه و پیام هشدار بدهید
۲- کدهای فشرده نشده تقویم را برایتان بفرستم تا خودتان این قابلیت را به آن اضافه کنید.
۳- نسخهی حرفهای تقویم که این قابلیت را دارد و به صورت تجاری قابل استفاده است، تهیه نمایید.
جهت کسب اطلاعات در مورد گزینههای دوم و سوم با ایمیل بنده amibct در gmail تماس بگیرید
سلام و وقت بخیر و تشکر فراوان
سوالی داشتم
من میخوام وقتی کاربر تاریخ اشتباه وارد کرد مثلا 14/ به جای دادن خطا و .... فقط مقدار داخل فیلد خالی بشه و قبولش نکنه این رو باید چیکار کنم
ببخشید سوالم ابتدایی هست
با سلام
این قابلیت در تقویم وجود ندارد. در عوض میتوانید با استفاده از فیلد اضافی متوجه شوید که آیا تاریخ وارد شده صحیح است یا نه
سلام
ممنون از کمکتون
من می خوام تصویر تقویم را داخل و انتهای تکست باکس نمایش بدم نه بیرون آن
چکار باید بکنم؟
با سلام
این کار با استفاده از css قابل انجام است. اگر اطلاعات کافی در این زمینه ندارید از کسی دیگر بخواهید تا اصلاحات لازم را برایتان انجام بدهد
سلام.باز شدن تقویم در صفحه در صورتی که صفحه اسکرول داشته باشه خطا داشت. درستش کردم.متد زیر رو میتونید جایگزین متد قبلی کنید
var getOffset = function (b) {
var rect = b.getBoundingClientRect(),
scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
scrollTop = window.pageYOffset || document.documentElement.scrollTop;
return { top: Number((rect.top + scrollTop).toFixed()), left: Number( (rect.left + scrollLeft).toFixed()) };
};
سلام و تشکر
سلام چجوری میتونم initialdate رو بزارم روی today؟
با سلام
بهتر است تاریخ امروز را از سرور دریافت کنید یا اگر میخواهید روی کلاینت باشد، داخل کامنتها کد مربوط به تاریخ روز موجود است که کمی باید آن را تغییر دهید
با سلام م تشکر از شما
اول اینکه اجازه داریم تو سایت خودمون از این استفاده کنیم دوم اینکه مکان این هست روز های گذشته انتخاب نشه ؟؟میشه راهنمایی کنید
با سلام
این قابلیت در نسخه حرفهای تقویم موجود است که در صورت تمایل میبایست آن را خریداری نمایید
تقویم جاوا اسکریتی که ارایه فرمودین این قابلیت رو داره که براش کال بک فانکشن تعریف کنم من قصد دارم تقویم شما رو تو یک پروژه به عنوان مثال یک سایت بیمارستانی استفاده کنم برای رزرو ویزیت پزشک به صورتی که اگه رزرو در یک روز مثلا از 10 نفر گذشت اون روز تو تقویم غیر فعال بشه و به نوعی خاموش بشه اون روز
ممنونم میشم اگه راهنمایی بفرمایید و یا یک راهی جلو پام بزارین
با تشکر فراوان از شما
با سلام
این قابلیت در نسخهی فعلی موجود نیست. در نسخهی تجاری و حرفهای که قابل خریداری است، این قابلیت موجود است
یا در صورت تمایل میتوانم کدهای فشرده نشده نسخه فعلی را برایتان بفرستم تا تغییرات لازم را در آن انجام دهید
با سلام و خدا قوت. چجوری میتونم وقتی یک تاریخی رو از کاربر گرفتم متوجه بشم چه روزی از هفته است؟( منظورم چند شنبه است)
مثلا وقتی تاریخ 1/1/1398 که میخام توی دیتابیس ذخیره کنم لازمه که بدونم چند شنبه است.آیا امکانش هست؟
با تشکر
با سلام
بسته به زبان برنامهنویسی که استفاده میکنیم ممکن است دستوراتی برای این کار موجود باشد یا اگر تاریخ را به صورت JD دریافت کنید، با محاسبه باقیمانده بر ۷ یک عدد به دست میآید که نسبت مستقیم با روز هفته دارد
... زمانیکه در دات نت ارجاعات css , js رو در خود همون صفحه ای که فیلد تاریخ داره رو وارد می کنم مشکلی نداره و آیکون میاد اما زمانیکه تو pagelayout ارجاعات رو وارد می کنم آیکون نمایش داده نمی شود.
در ضمن جهت تغییر رنگ پوسته تقویم چکار باید انجام بدم..بازم ممنونم
با سلام
مشکل شما مربوط به دات نت است و در این زمینه بنده اطلاعاتی ندارم
در مورد تغییر رنگ پوسته، میبایست فایل css تقویم را ویرایش کنید
با سلام و وقت بخیر
چطوری میتونم بعد از انتخاب تاریخ علاوه بر این که تاریخ رو در فیاد خودش نمایش ویده ی فیلد دیگه داشته باشم که ماه جاری رو هم همزمان نمایش بده ، یعنی 2 فش فیلد که یکی تاریخ انتخاب شده رو نشون میده و دیگری ماه همون تاریخ رو نشون بده(مثلا فروردین یا آبان) ممنون
با سلام
فیلد اضافی یک مورد است. تاریخ را با فرمت دلخواه میتوانید در این فیلد ذخیره کنید و اگر کار دیگری با تاریخ باشد، خودتان آن را باید کد نویسی کنید
لام وقت بخیر من چطور میتونم استایل تقویم رو تغییر بدم؟میشه راهنماییم کنی؟
از طرفی نمیخوام با کلیک تقویم نمایش داده بشه میخوام بدون کلیک بعد از لود سایت رو صفحه اجرا شه چیکار باید کنم؟
با سلام
استایل تقویم داخل فایل css است و برای انجام تغییرات باید با CSS آشنایی داشته باشید
برای تغییر عملکرد شکل نمایش، قابلیتی به شکل مورد نظر شما در تقویم وجود ندارد و لازم است تا با جاوااسکریپت آشنا باشید و بتوانید کدهای تقویم را تغییر بدهید
بله مشکلم حل شد اما الان ی مشکل دیگ دارم
من میخوام تعطیلات رو نشون بدم فقط بدون ذکر دلیل(رویدادی نمیخوام ثبت شه)
فقط میخوام نشون بده ک مثلا 20 شهریور تعطیل هست
میشه اینم راهنمایی کنید؟
ممنون میشم
با استفاده از این نسخه از تقویم هر کاری را نمیتوانید انجام بدهید و امکانات آن شامل مواردی است که در توضیحات نوشته شده است
با سلام
و تشکر بابت تقویمی که نوشته اید
یک سوال داشتم، من تقویم رو در boostrap modal استفاده کردم
بعد از باز شدن modal، جای آن را درست نمایش نمی دهد، چه کاری باید انجام بدهم؟
پیشاپیش متشکرم
با سلام
شکل مکانیابی در این نسخه از تقویم به شکلی است که با بوتاسترپ تداخل دارد. در نسخهی جدید روش مکانیابی تغییر کرده است. این نسخه به صورت رایگان قابل دانلود نیست. برای تهیهی نسخهی جدید با ایمیل amibct در gmail تماس بگیرید.
سلام.
آقا واقعا دمت گرم ممنون.....
مچکرم هم تو asp.net webform و هم asp.net mvc ازش استفاده کردم.
با سلام و عرض تشکر از زحمات و پاسخگوییتان و هم چنین احترام و ارزشی که برای مخاطبانتان قائلید.
میشه لطفا راهنماییم کنید که چطور می تونم تاریخ رو به فرمت yyyy-mm-dd مثلا 10-17-2020 در دیتابیس ذخیره کنم؟
قبلا از راهنماییتون سپاسگزارم
با سلام
برای ذخیرهسازی تاریخ به فرمت دلخواه میبایست از فیلد اضافی استفاده کنید که توضیحات آن در بالا نوشته شده است
سلام و تشکر بسیار زیاد از شما لطفا لطفا من یک مشکل دارم اگه میشه منو راهنمایی کنید
من میخوام تمام این کد هارو به یک وب کامپوننت (web component) انتقال بدم ساختار کامپوننت کاملا اوکی هست فقط نمیتونم متوجه یکی از قسمت های که در js خود کردید بشم.
قسمت هایی که document دارند مثلا
document.onclick که نمیفهمم چی رو دقیقا مورد هدف قرار میده تا بتونم اونو با shadow dom خودم هماهنگ کنم .
اگه کسی اطلاع داره لطفا همکاری کنه من هم کامپوننت همین date picker رو اماده بدون هیچ دسترسی بیرونی و فقط با js و html خالص رو بهش میدم که زندگیشو براش راهت کنه .
ممنون.
با سلام
اضافه کردن رویداد click به document برای تشخیص زمانی است که کاربر روی فضای خارجی datepicker کلیک کند و بتوانیم تشخیص بدهیم و پنجرهرا ببندیم
ممکن است بخواهید این بخش را به همین صورت باقی بگذارید یا اگر در یک ناحیهی ویژه قرار دارد، رویداد را به آن ناحیه اضافه کنید
برای گفتگوی بیشتر لطفا از ایمیل amibct در gmail استفاده کنید
سلام. من هر کار کردم تقویم نشان داده نشد. فقط کادر input ظاهر شد.
لطفا ساده تر بیان کنید.
مثلا منظور از انتهای اکریپت کد زیر را اضاف کنید منظور کدام اسکریپت است؟
با ااین حال همه مراحل را رفتم ولی درست نشد(asp.net core razor page )
NET. 5
لطفا راهنمایی کنید
با سلام
به نظر میرسد مشکلی در هماهنگ کردن کدها با دات نت داشته باشید که در این خصوص بنده تجربهای ندارم
نمونهی قابل استفاده در html همراه بسته موجود است و کارهای هماهنگی با محیط توسعه را خودتان میبایست انجام بدهید
با سلام مجدد
من نگاه کردم کد جاوا رو. خطا بجاست. شما از متغیر d بدون اینکه تعریفی ازش کرده باشید والد رو در خط 16 درخواست کردید و چون مترجم جاوا اطلاعی ازش نداره خطا میده
d.parentNode
با سلام
کدها را بررسی کردم. مشکلی در این بخش وجود ندارد. اگر در این بخش خطایی میگیرید. احتمالا موقع ساخت نمونه از تقویم، شناسهی فیلد را به درستی ارسال نکردید یا موجود نیست.
سلام وقت بخیر. اگر بخواهیم همین تقویم خروجی رو در asp:TextBox قرار بده باید چیکار کرد؟
با سلام ووقت بخیر من قصد اینو نداشتم که تقویم میلادی به شمسی تبدیل کنم دنبال کدی بودم که مثلا بزنه امروز چهارشنبه 06/05/1400 فقط همینو میخواستم ولی فقط تقویم شمسی هستش
سلام خسته نباشی
همه جارو گشتم که یه بدرد بخور بتونم استفاده کنم و پیدا کنم که وبلاگ تورو پیدا کردم
خیلی خوبه که مردم بدون هیچ درخواست پولی اقدام به ساخت چنین چیز هایی میکنند .
من تا الان دو تا وب سایت دیدم که به رایگان حالا کتابخانه یا چیزی رو در اختیار کاربر میزاره و پولی هم نیست
یکیش کتابخانه تاریخ شمسی jdf بود
یکیش وبلاگ شما
پروژه ام متن بسته هست اما حتما آدرس وبلاگ و کامپونتت و همه چیتون رو مینویسم .
واقعا باید ازتون تشکر کرد
من خودم هم توسعه دهنده یه مجموعه کتابخونه توی زبان php هستم که توی آدرس وبلاگ آدرس مستندات رو ذکر کردم
سایت شخصیم هم oflink.ir/web هست.
و این کامپوننت رو هم برا یه پروژه ای میخواستم که کاملا به کارم اومد
فوق العاده ممنون
سلام وقتتون بخیر ،
یک سوال داشتم از خدمتتون چطوری میتونم اندازه تقویم رو بزرگتر کنم الان به صورت پیش فرض خیلی کوچیکه ، ممنون میشم راهنمایی کنید .
وین مشکل دیگه هم که هست ، کاربر وقتی بر روی خود تقویم کلیک می کنه تقویم محو میشه
با سلام
تغییرات در ظاهر تقویم با تغییر در CSS امکان پذیر است
کلیک روی روزهای تقویم به صورت خودکار روز را انتخاب میکند و بسته میشود. اگر منظور شما کلیک روی فضاهای خالی است، احتمالا تداخلی با کتابخانهی دیگر وجود دارد
سلام این تقویم برای امسال درست نمیاره و باعث میشه سال های بعد ازین هم درست نباشه اگه امکان داره اونو بررسی کنید امسال کبیسه هستش ولی تو تقویم 29روز میاره
با سلام
تغییرات الگوریتم باید در تقویم انجام شود که مدتی زمان نیاز دارد. در اولین فرصت انجام میشود
سلام و خدا قوت
ممنون از تقویم قشنگ تون
خواستم منم یادآوری کنم که اگر فرصت کردید برای پایان امسال آماده ش کنید عالی میشه چون بعد از اسفند به خاطر 30 روزه بودن دیگه عملا قابل استفاده نخواهد بود.