DCSIMG
JavaScript - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Browse by Tags

All Tags » JavaScript (RSS)
jQuery progress bar label
בקשו ממנו להשתמש ב – jquery progress bar ולהציג את האחוזים מתחת ל – progress bar צמוד לערך שלו, כלומר משהו כזה:   הדרך לעשות זאת היא פשוטה, בהינתן שיש לנו את ה – html הבא: Code Snippet < div class ="wrapper">     < div class ="progressbar" data-value ="20"></ div >     < div class ="value"> 20 </ div > </ div > < br /> < div class ="wrapper">     <...
שליחת חלק מה – html למייל.
בעבר כתבתי על שליחת דף html מצורף למייל, כשהטכנולוגיה השלטת הייתה asp.net web forms, היום העולם כמובן השתנה, ואנחנו עובדים הרבה בצד הלקוח. הדרישה הנוכחית הייתה לשלוח קטע html מסויים למייל ללקוח. במידה ומספיק לשלוח את ה – html, ללא עיצוב הכול יותר פשוט, נניח שיש לנו את ה – html שנותן את התוצאה הבאה:   בלחיצה על הלחצן נכתוב את הקוד הבא: (בהנחה שאתם מכירים jQuery) Code Snippet function sendMail() {     var str = escape($( '#myDiv' ).parent().html());     var...
משימה שלישית עם (3) knockout
בהמשך לפוסטים הקודמים על KO, נראה הפעם עבודה עם ולידציות. נכתוב את ה – html הבא: Code Snippet < table id ="tblContact">     < tr >         < td >שם : </ td >         < td >             < input type ="text" data-bind ="value: Name" /></ td >     </ tr >    ...
DateTime in JSON
אחד הדברים המעצבנים בעבודה עם ajax, זה הדרך שבה חוזר אובייקט DateTime. בהנחה שהאובייקט נראה כך: Code Snippet public class Person { public int MyProperty { get ; set ; } public DateTime Time { get ; set ; } } ויש לנו Action הנראה כך: Code Snippet [ HttpGet ] public JsonResult GetPerson() { return Json( new Person () { MyProperty = 2, Time = DateTime .Now }, JsonRequestBehavior .AllowGet); } כשנקרא ל – action בעזרת jQuery ajax: Code Snippet var personFromServer = null ; // Get data from server $.getJSON...
משימה שנייה עם (2) knockout
כתבתי כיצד מתחילים לעבוד עם knockout, בפעם הזאת נראה דוגמא קצת יותר מתקדמת. נגדיר את המשימה הבאה: דף שבו המשתמש יכול להכניס ID של משתמש, לקבל את השם והגיל, לעדכן אותם ולשלוח בחזרה לשרת. הדף יראה כך:   נחשוב לרגע על קוד רגיל שהיינו כותבים. היינו נרשמים לאירוע change של תיבת הטקסט הראשונה, שולחים את ה – Id לשרת, בצד השרת נחזיר אובייקט Person ללקוח, בצד הלקוח נעבור על המאפיינים, נדאג להכניס אותם לתיבות הטקסט, ולאחר מכן בזמן לחיצה על Update ניקח את הערכים מתוך תיבות הטקסט ונשלח אותם לשרת. (הקוד...
משימה ראשונה עם knockout
כדי לפתח היום אפליקציות web אנחנו חייבים להכיר ספרייה כמו knockout , בקצרה – ספריה זו מאפשרת לעבוד עם מודל ה – binding בין אלמנטי ui לבין משתנים ואובייקטים בעמוד, ללא צורך לגשת מה – java script לאלמנטים. נניח שנרצה להציג בעמוד את מספר הקליקים שנעשה על לחצן, בדרך כלל נשים span כלשהו בעמוד, ובכל לחיצה נמצא את האלמנט ונשנה את הטקסט. בעזרת knockout נגדיר משתנה כלשהו, נחבר אותו בעזרת binding לאלמנט, ובכל פעם שהערך של המשתנה יתעדכן – בצורה אוטמטית גם הטקסט של האלמנט יתעדכן. הקוד יהיה פשוט, ראשית נוריד...
The length of the string exceeds the value set on the maxJsonLength property
קבלתי שאלה במייל אודות פנייה ב – ajax לשרת (web method) שלוקלית הכול עובד אבל בשרת משום מה זה לא עובד/ אחרי קצת דיבגינג של שואל השאלה, התברר שההבדל בין השרת ללוקלי, הוא בכמות המידע החוזר, ברגע שהוא הגיע למסקנה הזו, נזכרתי שיש מאפיין שמגדיר מה יהיה הגודל המקסימלי של ה – JavaScriptSerializer המאפיין נקרא maxJsonLength. כדי להגדיר את המאפיין עבור asp.net ajax, ניתן להגדיר בקונפיג את המקטע הבא: < system.web.extensions >   < scripting >     < webServices >      ...
Object doesn't support this property or method
בפוסט הזה סיפרתי מי הם הדפדפנים התומכים בגישה ישירה ל – id של אלמנט בלי להשתמש בפונקציית getElementById. בפוסט הזה סיפרתי למה לא כדאי להשתמש ב – javascript במשתנים ללא הגדרה של var. כעת נראה עוד סיבה טובה לזה. נסתכל על הקוד הבא: < head >     < script >         onload = function () {             count = 3;             alert(count...
placeHolder jQuery plugin
הקדמה: אחד מהתכונות החדשות של html5 נקרא placeholder , מאפיין זה מאפשר להגדיר טקסט שיוצג (בדרך כלל באפור) על תיבת הטקסט כל עוד שהמשתמש לא כתב משהו אחר, וכמובן כשתיבת הטקסט לא נמצאת בפוקוס. לצערנו לא כל הדפדפנים תומכים כיום במאפיין זה, קיימים כמה וכמה plugins המאפשרים תמיכה בתכונה זו גם עבור דפדפנים שאינם תומכים, אבל החלטתי שאני רוצה לכתוב אחד לבד – לפחות כדי לכתוב jQuery plugin בעצמי.   ( להורדת הקוד המלא .) ראשית, נגדיר מה הם הדרישות ל – plugin שלנו. יאפשר להכניס לתיבת טקסט – טקסט ברירת מחדל...
== vs === in javascript
בפוסט הקודם הזכרתי שיש הבדל בין הבדיקה בעזרת == לבין בדיקה בעזרת === ב - javascript. בפוסט זה נרצה להבין את ההבדל. בפשטות אפשר לומר ש == מבצע לפני הבדיקה - האם הערכים הם זהים - המרה בן שני הצדדים אם צריך, לעומת === שלא עושה המרה אלא רק בדיקה פשוטה, ולכן: var str1 = 'a' ; var str2 = new String( 'a' ); str1 == str2 //true str1 === str2 //false var z; z == undefined //true z == null //true z === undefined //true z === null //false הסיבה לתוצאות הללו הם מכיוון ש - typeof של null שונה...
Posted: Jun 05 2012, 09:54 AM by Shlomo | with 1 comment(s)
תגים:, , ,
JavaScript Objects Introduction
הקדמה: בעולם פיתוח ה – javascript יש לנו שתי שיטות לעבודה – הראשונה (והפשוטה) היא להגדיר אוסף של פונקציות שיש או אין קשר ביניהם, לכתוב אותם בקובץ אחד או יותר ולהפעיל אותם מתי שצריך. שיטה זו היא השיטה "הקלה" אך הפרימיטיבית, ולמעשה די מוזר בעיני שעם כל ההתקדמות שלנו בעולמות Object Oriented עדיין בהרבה מקומות עובדים בשיטה הפרימיטיבית בשפה זו. השיטה השנייה והנכונה, היא לעבוד עם אובייקטים – מסתבר שב – Javascript ניתן להגדיר אובייקטים, להגדיר public, private של משתנים ומתודות – ואפילו אפשר לרשת...
override alert function
בעבר כתבתי כיצד לדרוס את ההתנהגות הדפולטבית של parseInt, הפעם אני רוצה להראות איך קוד פשוט ישדרג את ה – alert הסטדנרטי של הדפדפן לשימוש ב – jquery ui dialog בדרך כלל הקוד הבא: < input type ="button" value ="Show" onclick ="alert('is jquery ui dialog ?')" /> לחיצה על הלחצן תציג את ההודעה הבאה: במידה ונכתוב את הקוד הבא: (בתחילת העמוד) < script src ="js/jquery-1.7.1.min.js" type ="text/javascript"></ script > < link href...
Text Resource in asp.net mvc
פוסט זה נכתב בעזרתם של תותחי העל נטלי אהפוטה ו ניב לוי (יהלום של סלע ) כרגיל בהרבה מקומות בהם אנחנו מפתחים אתרי אינטרנט, רוצים המנהלים שליטה על המחרוזות בלי צורך להזדקק למפתחים, הדרך הרגילה לעבוד עם מחרוזות היא בעזרת קבצי resx, שאיתם כמובן יש בעייה מבחינת העבודה איתם (למי שלא מפתח) - בעבר כתבתי כלי שנותן מענה מסויים , אך בפעם הזאת החליט מי שהחליט שהמחרוזות ישמרו בבסיס נתונים, מה שמביא אותנו לנקודות הבאות: המידע בבסיס הנתונים, ויש צורך להגדיר דף בו המנהלים יוכלו לערוך את המחרוזות. שמירת המידע במקום...
Dynamically loading or removing an external JavaScript or CSS file
המקור לקוד בפוסט זה מגיע מכאן לא מזמן כתבתי אתר קטן, שהיה צריך לתמוך במעבר בין עברית לאנגלית, כמובן שזה תמיד כאב ראש ויש כל מיני שיטות לעשות זאת (בעיקר הבעייה עם שינוי הכיוון) בפעם הזאת בחרתי להתמודד עם הבעייה בצורה הבאה: כתבתי קובץ css ובו העיצוב משמאל לימין כמו שצריך להיות באנגלית. כתבתי קובץ css נוסף שבו מופיעים כל השנויים מבחינת העיצוב עבור השפה העברית (align, padding, marging, background וכד') כעת במעבר לעברית הפעלתי את הפונקציה הבאה: function loadjscssfile(filename, filetype) { if (filetype...
Posted: May 07 2012, 01:49 PM by Shlomo | with no comments
תגים:, , , ,
jquery ajax with async set to false and beforeSend registration
לאחרונה הגיעה אלי שאלה מעניינת, אני משתמשת הרבה בקריאות סינכרוניות מקליינט לWCF. לפני כל קריאה אני משנה את הcursor ל wait. הבעיה היא שהוא כל כך מהיר שעוד לפני שהוא מספיק להפוך את העכבר – הוא כבר מגיע אל ה WCF ומקפיא את המסך, באופן שהעכבר נשאר כשהיה , עד שהקריאה חוזרת חזרה (בקריאות א-סינכרוניות כמובן שזה לא קורה) פתרתי את הבעייה הזו באמצעות window.setTimeout(function () { CallWCF(); }, 10); ואז ה wait cursor מספיק להתבצע לפני שהקריאה נשלחת עקב ההשהייה. האם יש פתרון מוצלח יותר במקום למלא את הקוד ב...
More Posts Next page »