מורה פרטית לבניית אתרים בירושלים

album

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
שופט/ת באתגר דריבל
נכתב ע"י s976;1099933:
משום שזה לא NULL אלא שורה ריקה.
(אם הבנתי נכון את כוונתך)

ודרך אגב לפי עדיף לכתוב לא
PHP:
document.getElementById('txt_name').value == 0
אלא
PHP:
0 == document.getElementById('txt_name').value

כי לפעמים שוכחים לרשום סימן שוה כפול, וזה גורם לשגיאות שקשה למצוא אחר כך.

(זכור לי משהו כזה... אני בכלל לא עובדת בזה נס שזכרתי משהו)

השאלה היא, מדוע שבאופציה השניה שציינתם לא אשכח לרשום פעמיים =?
 

album

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
שופט/ת באתגר דריבל
נכתב ע"י s976;1099953:
mat, הקטע הזה
קוד:
 ( c || "חבר" )
אמנם עובד נכון מאוד, ומעיד על מי שכתב אותו שהוא מוכשר, אבל תסכים אתי שזה פחות קריא מאשר להוסיף עוד שורת קוד רלוונטית

לדעתי הקוד של mat מעולה... ככה מתכנת חושב :)
אז מה אם זה פחות קריא?? הרי מי שבנה את זה מבין

אני שמחה שראיתי את הקוד mat,
קצת לחזור ללימודים ולשיפשופים
 

member

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
איור וציור מקצועי
צילום מקצועי
נכתב ע"י album;1100003:
השאלה היא, מדוע שבאופציה השניה שציינתם לא אשכח לרשום פעמיים =?

כששוכחים לרשום פעמיים = אז שורת הקוד היא השמה ולא השוואה.
כלומר, התוכן של המשתנה שנמצא מצד ימין נכנס לתוך המשתנה שנמצא משמאל.

כך שבאפשרות הראשונה (document.getElementById('txt_name').value=0)
המשתנה יתאפס.

ובאפשרות השנייה לא ייגרם נזק.
 

mat

------- Magicode -------
נכתב ע"י member;1100012:
ובאפשרות השנייה לא ייגרם נזק.

יותר נכון. שבאפשרות השניה בjs יהיה שגיאה ואז נעלה על הבעיה שכתבנו רק = אחד.

לגבי ה || למדתי את זה מפה.
https://github.com/blueimp/jQuery-F...30d5af17f9976675/js/jquery.fileupload.js#L506
תשימו לב כמה פעמים משתמשים בזה.

ככה גם משתמשים במחלקות גדולות כמו jquery.
https://github.com/jquery/jquery/bl...cd302a896f03b23876/src/selector-native.js#L32
https://github.com/jquery/jquery/bl...cd302a896f03b23876/src/selector-native.js#L73

ככה זה יותר מסודר http://jsfiddle.net/a3uw2/8/
 

wmw

משתמש פעיל
D I G I T A L
מעולה, תשובות מעולות.
הסבר:
את תנאי ה IF [וגם את תנאי ה OR] עשיתם מצויין.
רק למה הגעתם ל 0?
אולי חשבתם ש VALUE זה רק מספרים?
VALUE מכיל את הטקסט שיש באובייקט!

ולכן, אפשר לבדוק אם הטקסט ריק בצורה כזו
PHP:
if( document.getElementById('txt_name').value == "")

לבדוק אורך של מחרוזת או מערך, משתמשים בתכונה length

וכמובן שניתן גם כן לבדוק אורך כך:
PHP:
if( document.getElementById('txt_name').value.length == 0)

בואו נסבך את זה קצת:
למה שהמשתמש יקבל סתם הודעה של "שלום"?
אולי נוסיף לו גם כן "בוקר טוב"?
רגע רגע, אבל אם הוא יגלוש בצהריים? או בערב? או באמצע הלילה?[אתן גרפיקאיות, לא? אז 03:00 זו שעת עבודה די סטנדרטית...]

דבר נוסף
נלמד להציג ולהסתיר אלמנטים.
למה שזה לא ייראה יפה כמו כל ואלידציה?
כמו טופס שימושי שיש בו שדה חובה
ליד שדה הטקסט, נציב כוכבית אדומה.
מוסתרת

ברגע שהמשתמש ילחץ על הכפתור והוא לא מילא את השדה הנדרש, הפעולה לא תתבצע, והשדה יתגלה.
אנחנו גם נטפל בהסתרה שלו לאחר שינוי הערך בשדה, דהיינו לאחר כתיבה או מחיקה.

גם נשתמש באפשרות בדיקת אורך המחרוזת, לגלות שהמשתמש הקיש לכל הפחות שני אותיות [מכירים שם בעל אות אחת? בעברית???]

אוקיי
הנה ההדגמה של הואלידציה לינק

כדי לתת נקודת מוצא לבדיקת השעה על מנת לתת הודעה מתאימה.
תוכלו לעיין בלינק הבא:
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_gethours

שימו לב שהשעה המסופקת, היא השעה בשעון המחשב שלכם [תיכנות צד לקוח...]
אז בקלות תוכלו לבדוק את התוצאות השונות באמצעות שינוי השעה במחשב !

בהצלחה.

מחכה ללינקים שלכם.
 

album

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
שופט/ת באתגר דריבל
אפשר עזרה?
האם ניתן לבדוק את string ע"י <,> וכד'
כתוב נכון או לא?:
PHP:
h.value>4
בתחילה רשמתי
PHP:
h>6
זה פשוט לא הולך לי

והאם בIF מקוצר ניתן לשלב כמה IF? או שזה לא מקובל
לדוגמא:
PHP:
( h.value > 5 && h.value < 12) ? "Good morning" : ((h.value >= 12 && h.value < 17) ? "Good afternoon": (h.value>=17 && h.value < 18)? "Good evening": ((h.value>=20 && h.value <=23 && h.value>= 0 && h.value>=5)? b="Good night"))

דרך אגב למתרגלים,
הפונקציה getHours() נותנת ערכים של 0-23
 

wmw

משתמש פעיל
D I G I T A L
אפשר לבדוק בכל הצורות הבינאריות > < = !
אבל כך זה בודק רק מחרוזת שהיא מספר !!!
צריך לבדוק LENGTH....

בוודאי שאפשר לשים תנאים מרובים
וגם הצבה מותנית [?:] עובדת.

תודה על התוספת 0-23.
בכתיבה אפילו בדקתי את זה ליתר בטחון, וכנראה שכחתי להוסיף.
 

album

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
שופט/ת באתגר דריבל
נכתב ע"י wmw;1100509:
צריך לבדוק LENGTH....


length נותן לי את כמות התוים, לא? איך אבדוק מה התוכן
(או שזה הטריק שאני צריכה למצא?)
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
נכתב ע"י wmw;1100509:
אפשר לבדוק בכל הצורות הבינאריות > < = !
אבל כך זה בודק רק מחרוזת שהיא מספר !!!
צריך לבדוק LENGTH....

בוודאי שאפשר לשים תנאים מרובים
וגם הצבה מותנית [?:] עובדת.

תודה על התוספת 0-23.
בכתיבה אפילו בדקתי את זה ליתר בטחון, וכנראה שכחתי להוסיף.

אולי תסביר לחבר'ה איך להשתמש עם ה debuger, ולבדוק לגבי כל משתנה ואובייקט - מי הוא, וממה הוא מורכב. זה יכול לפתור הרבה בעיות.
 

שמח לעזור

משתמש מקצוען
D I G I T A L
ה|| של mat בהחלט מבלבל לדעתי.
א. זה לא הגיוני, זה שימוש נוסף ללא קשר לשימוש המקורי של האופרטור (כן/לא). במיוחד לגבי שמחרוזת שבמבט ראשון ריק זה לא null.
ב. זה פשוט לא מובן בעיניים למי שעובד עם שפה נוספת מלבד הJS. עדיף לכתוב בניסוח גלובלי.

נכתב ע"י wmw;1100509:
אפשר לבדוק בכל הצורות הבינאריות > < = !
אבל כך זה בודק רק מחרוזת שהיא מספר !!!
צריך לבדוק LENGTH....
זה בודק גם מחרוזת רגילה בהשוואה לאחרת:
"B">"A"
ובאמת אם בודקים גדול מריק זה מחזיר כן במידה וזה לא ריק.
כמובן שזה לא מתאים פה, אבל זה אפשרי.
 

album

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
שופט/ת באתגר דריבל
טוב היה לי עוד כמה דקות... אז חיפשתי את הפונקציה שמחליפה סטרינג למספר
אז מה אומרים על זה??? [אני לא מתיימרת להיות הגאונית של הקבוצה כך שמן הסתם הקוד מאד מסורבל...]

http://jsfiddle.net/a3uw2/10/

לא ביצעתי בדיקות תקינות עקב ההערה הבאה

הערה: כשאני משנה את השעה במחשב השעה נשארת כפי שהיתה (בדקתי ע"י הדפסת השעה והיתה השעה הקודמת למרות ששיניתי)

למתרגלים, אופרטורים שימושיים:
http://www.w3schools.com/js/js_comparisons.asp
 

wmw

משתמש פעיל
D I G I T A L
הזזתי את השעה וזה עבד לי

אבל בשעה 19 זה נתן לי גוד מורנינג...

התנאי השני צריך להיות 19 ולא 18
וגם נמוך שווה [או נמוך מ 20]

בכל מקרה זה פתרון מקסים

כמה הערות:
מאד מבלבל כשמחליפים את הצדדים של האיברים בצדדי התנאי.
כל הכבוד על מציאת ה NUMBER...

בעקרון 5=="5" מחזיר ערך חיובי.
למרות שה TYPE שלהם בבירור לא שונה.

כדי שג'אווה סקריפט יבדוק גם זהות מוחלטת ב TYPE יש לו אופרטור של 3 פעמים '='
דהיינו "5"===5 יחזיר שלילי...

אבל Number("5") === 5, כמובן יחזיר ערך חיובי...

ננסה להיות כמה שיותר מעשיים ופרקטיים מול דברים שבונה אתרים נזקק להם.

מישהו שם לב למאפיין onchange שיש לתיבת הטקסט?
למה הייתי צריך להשתמש בזה?
מתי האירוע הזה מתרחש?

בפרק הבא: מניפולצייה נחמדה בג'אווה סקריפט, שהיא תהיה התחלה ומבוא לפריימוורקים...

בנתיים, כמו מורה פרטית אמיתית, אני ממליץ [כמעט כתבתי ממליצה] לשחק בדוגמאות, לנסות לשנות, להוסיף, לגוון.
ואם יצא משהו מעניין, לא להסס להעלות.

כמובן גם שאלות, כאן המקום.

וכן לכל המסייעים, צוות ה"מורים הפרטיים" שמעירים הערות מצויינות.
 

album

משתמש סופר מקצוען
עיצוב גרפי
D I G I T A L
שופט/ת באתגר דריבל
נכתב ע"י wmw;1100698:
הזזתי את השעה וזה עבד לי

אבל בשעה 19 זה נתן לי גוד מורנינג...

התנאי השני צריך להיות 19 ולא 18
וגם נמוך שווה [או נמוך מ 20]

בכל מקרה זה פתרון מקסים

כמה הערות:
מאד מבלבל כשמחליפים את הצדדים של האיברים בצדדי התנאי.
כל הכבוד על מציאת ה NUMBER...

בעקרון 5=="5" מחזיר ערך חיובי.
למרות שה TYPE שלהם בבירור לא שונה.

כדי שג'אווה סקריפט יבדוק גם זהות מוחלטת ב TYPE יש לו אופרטור של 3 פעמים '='
דהיינו "5"===5 יחזיר שלילי...

אבל Number("5") === 5, כמובן יחזיר ערך חיובי...

ננסה להיות כמה שיותר מעשיים ופרקטיים מול דברים שבונה אתרים נזקק להם.

מישהו שם לב למאפיין onchange שיש לתיבת הטקסט?
למה הייתי צריך להשתמש בזה?
מתי האירוע הזה מתרחש?

בפרק הבא: מניפולצייה נחמדה בג'אווה סקריפט, שהיא תהיה התחלה ומבוא לפריימוורקים...

בנתיים, כמו מורה פרטית אמיתית, אני ממליץ [כמעט כתבתי ממליצה] לשחק בדוגמאות, לנסות לשנות, להוסיף, לגוון.
ואם יצא משהו מעניין, לא להסס להעלות.

כמובן גם שאלות, כאן המקום.

וכן לכל המסייעים, צוות ה"מורים הפרטיים" שמעירים הערות מצויינות.

אז שוב חזרתי,
תודה רבה ל WMW על הזמן שאתם מקדישים לנו!
כיף לשמוע שכיוונתי בתשובתי... :)

החלפתי את המיקום בתנאים כיון שזה נצבע לי באדום, חשבתי שאולי זו טעות לכתוב כך...:) לכן החלפתי בסוף מצאתי טעות אחרת

לא כ"כ הבנתי מה הייתי יכולה לעשות עם ה=== בתרגיל האחרון?

בקשר ל onchange האמת שבפעם הראשונה שעברתי על הקוד לא הבנתי מה הקשר
עדין אין לי תשובה
(אולי קשור לDOM, שהפקודה נעשית בעת אירוע כמו לחיצה על כפתור?? )
 

wmw

משתמש פעיל
D I G I T A L
ה === לא היה עוזר, זה סתם לידיעה.
תפקיד ה onchange נועד להסתיר את הכוכבית האדומה.
הוא מתרחש כאשר ערך השדה משתנה והפוקוס נוטש את הפקד.

כמובן שבמקרה הזה, הreturn מיותר, אבל אין סיבה ליצור פונקציה כפולה.

כמו בכל שפה, כל דבר ניתן להיעשות בכמה וכמה דרכים.

לילה טוב.
 

wmw

משתמש פעיל
D I G I T A L
לפי הצעת SHYA, את ההמשך אני יעשה באשכולות נפרדים לפי נושאים.

מקווה להעלות בהמשך פוסט על מבוא לפריימוורקים ועקרונות JQUERY

כשהוא יעלה, אשים גם כאן לינק
 

rachel1

משתמש רשום
אוקיי. זהו. הבוקר היה לי קצת זמן אז ניסיתי להשלים פערים.
אני מעלה את הלינק לתרגילים שעשיתי.
http://jsfiddle.net/a3uw2/19/
אשמח אם תיתן לנו עוד קצת שיעורי בית לתרגל כדי שבאמת נרגיש שאנחנו שוחות/ים בנלמד...
שוב המון תודות...
האשכול הזה פשוט מצוין ומהווה תחליף נהדר למורה פרטית!!!
 

wmw

משתמש פעיל
D I G I T A L
נכתב ע"י rachel1;1102278:
אוקיי. זהו. הבוקר היה לי קצת זמן אז ניסיתי להשלים פערים.
אני מעלה את הלינק לתרגילים שעשיתי.
http://jsfiddle.net/a3uw2/19/
אשמח אם תיתן לנו עוד קצת שיעורי בית לתרגל כדי שבאמת נרגיש שאנחנו שוחות/ים בנלמד...
שוב המון תודות...
האשכול הזה פשוט מצוין ומהווה תחליף נהדר למורה פרטית!!!

עברתי על הקוד
נראה מסודר ומצויין

הערות:
- חבל להפעיל את getHours בכל שלב בתנאי, זה "עולה" במשאבי מערכת יותר מסתם מספר פשוט.
היה עדיף לתת ל X את השעה כבר בהצהרה שלו, ואז בתוך משפטי התנאי לבדוק ישירות את הערך של X.

- יש לך בדיקה כפולה של הערך של תיבת הטקסט.
הרי הפונקציה require כבר בודקת ומחזירה ערך בוליאני...
כך שהבדיקה מול מחרוזת ריקה, מיותרת.

- התנאי הראשי [בקריאה ל require] צריך להתבצע ישירות בהתחלה.
אין סיבה ליצור משפט שלם כדי לראות שבסוף הוא לא יישלח...

- אין רווח בין הברכה לשם...

מלבד כמה דברים קטנים אלו, הפתרון ממש נפלא.
בסך הכל זה עובד, ובעקרון במחשבים של היום זה באמת לא מורגש.

את התרגילים ה"אמיתיים" אני חושב שכדאי לתת על דברים יותר "אמיתיים"

מול פרוייקט ממשי...

בקרוב, עם JQUERY
 

rachel1

משתמש רשום
תודה על ההארות...
אז איך ואיפה אני ממקמת את הקריאה לrequire?
 

wmw

משתמש פעיל
D I G I T A L
אין צורך לקרוא לבדיקה יותר מפעם אחת

פונקציית הבדיקה REQUIRE, מחזירה ערך בוליאני, חיובי או שלילי, בדיוק כמו למשל השאלה האם R שווה 0...

לכן מייד בכניסה לפונקציה שבונה את ההודעה, נבדוק מה חוזר מפונקצייה הבדיקה, ורק אם היא חיובית, נעשה את הכל.

כמו כן אין צורך ליצור אובייקט תאריך, וגם אובייקט חדש שיקבל ממנו את השעה.
הכל יכול להתבצע בקריאה אחת

הנה כאן תיקנתי את זה:
http://jsfiddle.net/a3uw2/30/
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכא

א שִׁיר לַמַּעֲלוֹת אֶשָּׂא עֵינַי אֶל הֶהָרִים מֵאַיִן יָבֹא עֶזְרִי:ב עֶזְרִי מֵעִם יְהוָה עֹשֵׂה שָׁמַיִם וָאָרֶץ:ג אַל יִתֵּן לַמּוֹט רַגְלֶךָ אַל יָנוּם שֹׁמְרֶךָ:ד הִנֵּה לֹא יָנוּם וְלֹא יִישָׁן שׁוֹמֵר יִשְׂרָאֵל:ה יְהוָה שֹׁמְרֶךָ יְהוָה צִלְּךָ עַל יַד יְמִינֶךָ:ו יוֹמָם הַשֶּׁמֶשׁ לֹא יַכֶּכָּה וְיָרֵחַ בַּלָּיְלָה:ז יְהוָה יִשְׁמָרְךָ מִכָּל רָע יִשְׁמֹר אֶת נַפְשֶׁךָ:ח יְהוָה יִשְׁמָר צֵאתְךָ וּבוֹאֶךָ מֵעַתָּה וְעַד עוֹלָם:
נקרא  13  פעמים

לוח מודעות

למעלה