coldfusion / טפסים מגניבים ב-coldfusion / איך הזיכרון שלכם?
איך הזיכרון שלכם?
ממש מעצבן אותי כשאני צריך להקליד מידע מחדש. זה יכול לקרות בגלל כל מיני סיבות: שכחתי למלא שדה, הכנסתי כתובת לא נכונה, נפל לי העכבר - הכל. כל מה שאני יודע הוא שכשאני נכנס בטופס, הוא יקבל מידע פעם אחת ופעם אחת בלבד. בגלל זה זיכרון הוא דבר חשוב כל כך.
זוכרים את כל תוויות ה-<CFINPUT> שהכנתם לא מזמן? הגיע הזמן לבקר אותן שוב. לכו לקובץ input.cfm שלכם ואם אתם משתמשים ב-CF studio, הקליקו את הכפתור הימני על אחת מתוויות ה-input. בחרו באפשרות העריכה. אתם אמורים להיות באותו תפריט ממנו הוספת וידויי תקינות לטפסים. אם עוד לא עשיתם כן, רשמו שם בשדה NAME. בשדה VALUE, הכניסו את השם אותו רשמתם לפני רגע. רק הפעם, שימו סולמיות (#) סביב השם. חזרו על התהליך עבור כל השדות בטופס. אם אתם מקודדים ידנית, וודאו שבסופו של דבר יש לכם משהו כזה.
כמובן שאתם זוכרים שסולמיות גורמות ל-coldfusion להציג ערך של משתנה. אז ע"י קביעת ערך היסוד בטבלה כשווה לעצמו, היא תמיד תזכור מה הערך האחרון היה.
הצעד הפשוט הזה נותן לטפסים שלכם זיכרון. עכשיו כל פעם שטופס יישלח חזרה ע"י עמוד ווידוא התקינות, המידע הראשוני שהוכנס אליו יופיע מחדש.
אבל חכו רגע אחד.. מה עם הפעם הראשונה? מה קורה אם הטופס לא הוגש בעבר? בלי ערך קיים, הטופס ינסה להציג משהו שלא קיים. זה רע. עלינו לספק ערך ראשוני. כדי לעשות זאת, נחזור לקובץ application.cfm ונדביק את זה לתוכו:
<cfparam name="validation_error" default="">
<cfparam name="choice" default="0">
<cfparam name="name" default="">
<cfparam name="address" default="">
<cfparam name="city" default="">
<cfparam name="state" default="">
<cfparam name="phone" default="">
<cfparam name="zip" default="">
ע"י קביעת הפרמטרים האלה, אתן מבטיחים שבכל שדה בטופס תמיד יהיה משהו שאפשר להציג. וכפי שאולי שמתם לב, מאחר וערך ברירת המחדל הוא תו רווח בפעם הראשונה, הטופס נראה ריק לגמרי. תוספת נחמדה, לא כן?
זה משאיר את כפתורי הרדיו. כדי לתת לכפתורי הרדיו זיכרון, הנה מה שנעשה - שנו את ה-RB (קיצור של Radio Button; אהבתם?) כך שיראה ככה:
<input type="radio" value="#id#" name="choice" <cfif choice eq id>checked</cfif>>
זה מסמן את הערך של כל כפתור רדיו בזמן שהוא נוצר. אם הוא סומן קודם לכן, הטופס יוודא שהוא יישאר מסומן. אבל אם הוא לא, הוא יישאר ריק. שוב, מאחר וערך ברירת המחדל הוא אפס, בפעם הראשונה שהטופס מוצג, אף אחד מכפתורי הרדיו לא יהיה מסומן.
מעולה. האם יכול להיות יותר טוב מזה? בהחלט.
עמוד הבא: זיכרון עם קוקיס >>
|