الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Calender

بدأه maie في 14 يناير 2009 · 8 رد · 940 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

دلوقتي انا عايزة اليوزر يختار تايخ لشي معين عايزة احط calender

بجيت انه يضغط علي مثلا زرار تكبر الكاليندر ويختار منها التاريخ اللي محتاجة وازاي اخد التاريخ ده من الكاليندر واحطه في الداتا بيز

شكرا

#2

السلام عليكــم ورحمـة الله وبركاتــه

عليك بحل من ثلاثة

الاول

ان تتعلم جافا سكربت و وقتها سيكون الامر هين عليك

الثاني

ان تستخدم احد مكتبات الاجاكس الجاهزة مثل ياهو او جوجل

او استخدم لغة توفر لك كل ما تحتاج مثل اسب دوت نت

الثالث

ان تبحث عن سكربت جاهز و تركبه على صندوق النص المراد

و الله اعلم

#3

من قوانين المنتدى استخدام العربيه الفصحى لكي نفهم السؤال ارجو الالتزام بذلك

#4

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

متأسفة للغاية لاستعمالي اللهجة المصرية ولكني مصريه ولا نتكلم الا العامية ويوجد بعض المشاكل التي اقف امامها ولا يمكنني حينها التعبير عن مشكلتي بشكل مبسط بالعربية الفصحي 

أأسف مرة اخري

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

نعم اخي انها معمولة باجاا سكريبت وانا دارسة جافا سكريبت كويس الحمد لله

دلوقتي انا عايزة اعمل تكست بوكس جنبه صورة صغيرة للكالندر عندما يضغط عليها اليوزر تكبر الكالندر بحيث انه يقدر يختار التاريخ المراد بحيث يوضع في التكست بوكس حيث اتمكن من اخذه بعد ذلك ووضعه في الداتا بيز

في الكالندر الخاصة بي لايمكن عمل مثل هذه الاشياء

شكرا.

#5

الكالندرهي عبارة عن div

خاصية الـ position تساوي absolute

و الظهور display تساوي none

بمعني انه غير مرتبط بالسطور و يستطيع الظهور فى اي مكان بناء على قيمة الـ left و الـ top

و عند النقر على الصورة المصغرة لـ الكالندر

عن طريق الجافا سكربت نستطيع الحصول على top و left لهذا الصورة و نظهر الـ الكالندر بناء على هذه القيم

و عند النقر على الـ الكالندر نحصل على القيمة و نضعها داخل صندوق النص

و بالتالى عند عمل submit للفورم تكون القيمة موجودة

و هذا مثال بسيط على ذلك

http://tech4a.comoj.com/scripts/simple%20cal.php

و هذا هو الكود الخاص بالمثال

  1. var months = new Array('يناير','فبرا¡0;ر','مارس','ابريل','مايو','يونيه','يوليه','1575;غسطس','سبتمير','اكتوير','نوفمبر','دي7;مبر');
  2. var currentDate = new Date();
  3. var currentMonth = currentDate.getMonth();
  4. var currentYear = currentDate.getFullYear();
  5.  
  6. function set_cal_year()
  7. {
  8. document.getElementById('tdyearname').innerHTML = currentYear;
  9. var x = new Date();
  10. var y = x.getFullYear();
  11. if (currentYear == y){
  12. document.getElementById('btnnexty').disabled = true;
  13. }else{
  14. document.getElementById('btnnexty').disabled = false;
  15. }
  16. if (currentYear == 1900)
  17. {
  18. document.getElementById('btnprey').disabled = true;
  19. }else{
  20. document.getElementById('btnprey').disabled = false;
  21. }
  22. setCal();
  23. }
  24. function set_cal_month()
  25. {
  26. document.getElementById('tdmonthname').innerHTML = months[currentMonth];
  27. if (currentMonth == 11)
  28. {
  29. document.getElementById('btnnextm').disabled = true;
  30. }else{
  31. document.getElementById('btnnextm').disabled = false;
  32. }
  33. if (currentMonth == 0)
  34. {
  35. document.getElementById('btnprem').disabled = true;
  36. }else{
  37. document.getElementById('btnprem').disabled = false;
  38. }
  39. setCal();
  40. }
  41. function setCal()
  42. {
  43. var x ="<table width="100%" dir="rtl"><tr><td>ح</td><td>ا</td><td>ث</td><td>ب</td><td>خ</td><td>ج</td><td>س</td></tr>";
  44. var cd = new Date();
  45. cd.setDate(1);
  46. cd.setMonth(currentMonth);
  47. cd.setYear(currentYear);
  48. var checkd = new Date();
  49. checkd.setDate(1);
  50. checkd.setMonth(currentMonth);
  51. checkd.setYear(currentYear);
  52. var cum = checkd.getMonth();
  53. var ccum = checkd.getMonth();
  54. var numof = 2;
  55. var extraDays = 0;
  56. while(cum == ccum)
  57. {
  58. extraDays++;
  59. numof = extraDays;
  60. checkd.setDate(extraDays);
  61. ccum= checkd.getMonth();
  62. }
  63. numof--;
  64. var som = cd.getDay();
  65. if (som > 0)
  66. {
  67. for (i = 1; i <= som;i++)
  68. {
  69. x += "<td></td>";
  70. }
  71. }
  72. var newweek = 0;
  73. var dayscount =som-1;
  74. for (i=1 ; i<= numof ; i++)
  75. {
  76. if (dayscount == 6)
  77. {
  78. newweek = 1;
  79. dayscount=-1;
  80. }
  81. if (newweek == 1)
  82. {
  83. x += "</tr><tr>";
  84. newweek =0;
  85. }
  86. dayscount++;
  87. x += "<td><div class="calday" onmousemove="this.style.backgroundColor='#0099FF'" onmouseout="this.style.backgroundColor='white'" onclick="return_cal('"+ i + "');">" + i + "</div></td>";
  88.  
  89. }
  90. x += "</table>";
  91. document.getElementById("xcal").innerHTML = x;
  92. }
  93.  
  94. function show_cal(tool)
  95. {
  96.  
  97. var xtop = mustafa_get_top(tool);
  98. var xleft = mustafa_get_left(tool);
  99. if (!document.getElementById('mustafacal'))
  100. {
  101. var x = document.createElement('div');
  102. x.id = 'mustafacal';
  103. x.className = "mustafacalender";
  104. x.innerHTML = "<div><table width="100%"> <tr> <td width="15%"> <input type="button" id=ThisIsotallyInReproducableTxt"btnprey" value="<" onclick="currentYear--;set_cal_year();" style="width:100%"></td><td class="tdcal" id="tdyearname"></td><td width="15%"><input type="button" id="btnnexty" value=">" onclick="currentYear++;set_cal_year();" style="width:100%"/></td></tr></table></div><div><table width="100%"><tr><td width="15%"><input type="button" id="btnprem" value="<" onclick="currentMonth--;set_cal_month();" style="width:100%"></td><td class="tdcal" id="tdmonthname"></td><td width="15%"><input type="button" id="btnnextm" value=">" onclick="currentMonth++;set_cal_month();" style="width:100%"/></td></tr></table></div><div id="xcal"></div>";
  105. x.style.top=xtop + this.offsetHeight ;
  106. x.style.left=xleft + this.offsetWidth ;
  107. document.body.appendChild(x);
  108. set_cal_year();
  109. set_cal_month();
  110. setCal();
  111. }else{
  112. document.getElementById('mustafacal').style.display="block";
  113. }
  114. }
  115. function return_cal(resultday)
  116. {
  117. document.getElementById('txtdateofpirth') .value = resultday + " - " + parseInt(currentMonth+1) + " - " + currentYear;
  118. document.getElementById('mustafacal').style.display = "none";
  119. }
  120.  
  121.  
  122. function mustafa_get_top(f)
  123. {
  124. var xtop = 0;
  125. while(f.offsetParent)
  126. {
  127. xtop+= f.offsetTop;
  128. f=f.offsetParent;
  129. }
  130. return xtop;
  131. }
  132.  
  133. function mustafa_get_left(f)
  134. {
  135. var xleft = 0;
  136. while(f.offsetParent)
  137. {
  138. xleft += f.offsetLeft;
  139. f=f.offsetParent;
  140. }
  141. return xleft;
  142. }
  143.  
  144.  

و هذا كود الاستدعاء

  1. <input type="text" name="txtdateofpirth" id="txtdateofpirth" readonly>
  2. <img src="Calendar_scheduleHS.png" alt="cal" width="16" height="16" onclick="show_cal(this)"/>
  3.  
  4.  

عفوا نسيت كود الـ css

 .mustafacalender{
 background-color:#CCCCCC;
 width:200px;
 position:absolute;
 display:block;
 }
 .calday
 {
 background-color:#FFFFFF;
 width:100%;
 height:100%;
 text-align:center;
 cursor:pointer;
 }
 .tdcal
 {
 text-align:center;
 vertical-align:middle;
 background-Color:#FFFFFF;;
 }

تم تعديل هذه المشاركة بواسطة tech4a في 23 يناير 2009 في 00:53

#6

السلام عليكم

اخي جزاك الله خيرا على هذا المثال لاني فعلا بحاجة الى هذا الشئ

ولكنه لا يعمل على IE

فهل من حل

ماذا فقد من وجد حلاوة الإيمان

[وسط]وماذا وجد من فقد حلاوة الإيمان-------------------

[/وسط]

#7

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــهالسلام عليكــم ورحمـة الله وبركاتــه

الحمد لله توصلت الي كود جافا سكريبت جاهز

شكرا جزيلا لردكم السريع 

وسوف اقوم برفعه ليتمكن الاخرين من الاستفادة به

اذا كان هناك اي مشاكل في استخدامها من فضلكم تكتبو المشكلة لاني اشك ان هذه هي الملفات كامله

شكرا

calender.rar

#8

يسلموووووووووووووووووووووووو كتييييير بصراحة موضوع مرة حلوووووو

وتسلم الأخت مي لأني استفدت كتييير من الملف

أووو صح لازم :wacko: باللغة الفصحة

نعم بورك فيك إنه لشيء رائع ... :happy:

تحياتي

#9

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

لا شكر علي واجب ارجو ان يكون الملف افادك وارجو ان يفيد الجميع

شكرا علي ردك

مواضيع مشابهة