אירוח ופיתוח האתר נתרמו באדיבות...
- לינווייט - תשתיות תוכן וקהילה
- אמנון לבב - לבבי מדריכים
למישהו יש רעיון (או ניסה ויודע) איך לעשות view על תוצאות של webform ? - יש אפשרות לצפות בהן באתר בצורת טבלה, אבל אני רוצה להציג אותן בדרך אחרת.
איך ניתן להוסיף כפתור "נקה טופס" לwebform?
פישפשתי וחיפשתי ותשובה לא מצאתי.
תודה
ליאת
קוד
הפתרון לשתי השאלות שלך הוא לכתוב קוד:
1. קוד שלוקח את הנתונים הרלוונטים מהטבלה הרלוונטית ומציג אותם איך שאת רוצה.
2. קוד שמוסיף כפתור RESET לטופס (ע"י מימוש hook_form_alter):
<input type="reset" value="clear">כמובן שלכתוב קוד הוא תמיד פתרון
מכיוון שאני לא יודעת לעשות את זה חשבתי שאולי מישהו כבר עשה את זה לפניי או יפתיע אותי עם רעיון אחר.
ליאת שדה-סעדון
לומבי - בניית אתרים ופיתוח הדרכה | www.lomby.co.il
לגביי ניקוי הטופס...
ניתן גם להשתמש בjquery - לצוד את כל הinputים ולנקות
נאמר שנסתכל על טופס הזנת התגובה בדרופל ישראל.
אם תסתכל במקור הדף (עם firebug כמובן) נראה שהזהות של באלמנט הזה קשורה לid
<input type="text" class="form-text" value="" size="60" id="edit-subject" name="subject" maxlength="64"/>כלומר - edit-subject
אז אם הייתי רוצה ל"נקות" את הטופס הייתי צריך לדאוג שהכפתור ירית מקטע של jquery שימצא את edit-subject ויפעל עליו כאשר נלחץ על הכפתור.
אז בשביל לעשות את זה יש שני חלקים
1. לדאוג שהלחיצה על הכפתור תריץ פונקציה בגאווהסריפט.
2. לדאוג שהפונקציה תנקה את edit-subject
לגביי 1 אנא ראי את http://www.w3schools.com/jsref/jsref_onsubmit.asp
לגביי 2 הפונקציה (כמו הalert בדוגמא למעלה) תצתרך לבצע את מקטע הקוד הבא -
$("#edit-subject").val = "" ;זה ישרת את המקרה הספציפי של הכותרת, לניקוי כל הform ולשיקולים נוספים את יכולה לקרוא (ולהשתמש) בתוכן מכאן -
http://www.learningjquery.com/2007/08/clearing-form-data
תודה
על ההסבר וההפניות. אני צריכה לצלול לעומק העניין ובטח עוד יהיו לי שאלות.
ליאת שדה-סעדון
לומבי - בניית אתרים ופיתוח הדרכה | www.lomby.co.il
לא, זה לא תמיד הפתרון
זה בד"כ הפתרון האחרון... לכתוב קוד פירושו לדעת לתחזק אותו, לבדוק אותו, לברר ענייני אבטחה ועוד. עדיף כמה שאפשר להמנע מזה.
אף על פי כן, יש מקרים רבים בהם שורה או שתיים יעשו את העבודה בצורה הטובה ביותר. מקרה כמו reset של טופס זה מצב בו לא תמצאי מודול, כי אף מפתח לא ימצא לנכון לפרסם מודול כזה פשוט (אלא אם כן הוא טורח וכותב "תשתית לשינוי טפסים" ותומך בכל מיני דברים שנראו לו חשובים, אבל עבורך זה בעיקר נַפַּחָת (bloat)).
הקוד שלך אמור להראות משהו כמו:
function yourmodule_form_alter($form_id, &$form) {if ($form_id == 'your_form_id') {
$form['reset'] = array('#value' => '<input type="reset" value="Reset">');
);
}
}
(סתם קוד מהראש, לא בדקתי)
זה אכן הפתרון האחרון
בטח מבחינתי שלא יודעת לכתוב קוד (בסוף לא תהיה לי ברירה ואני אלמד).
תודה על מקטע הקוד, אני אנסה אותו.
אשמח להבין את ההבדל (או את היתרונות והחסרונות) בין מה שאתה מציע לבין מה שהציע ליאור למעלה.
ליאת
ליאת שדה-סעדון
לומבי - בניית אתרים ופיתוח הדרכה | www.lomby.co.il
במילה אחת - ג'אוהסקריפט
בתגובות לקישור שליאור נתן יש דיון בדיוק על ההבדלים בין הגישות.
לעניות דעתי, אתר לא אמור להניח שלגולש יש ג'אוהסקריפט מופעל, ולכן תמיד יש לאפשר את הפונקציונליות גם ללא ג'אוהסקריפט.
האמת היא שאני מסכים עם יובל...
הפתרון שלו הרבה יותר פשוט להטמעה אך העיקרון הוא שיש מצבים שבהם אין גאווהסקריפט בדפדפן (למשל שמעתי על בנק שסגר את הjs בדפדפני העובדים מטעמי ביטחון).
הדבר גם קשור לנגישות והגישה הרווחת טוענת שאם אתה כבר פתר משהוא בגאווהסקריפט אז תייצר לו graceful degradation - איזה צורה לעבוד גם עם הגאווהסקריפט סגור.
ליאור
ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות
אי אפשר לעשות view על webform
זאת בגלל, AFAIK, שוובפורם לא שומר את הנתונים בתור nodes, ו-views יכול לעשות חיתוכים של nodes בלבד.
'צטער שאין לי פתרון טוב ונוח, ההצעה שלי היא לגגל כהוגן ואולי אף להוסיף issue למודול עצמו כfeature request.
אורן זוסמן, לינווייט
לינווייט תשתיות תוכן קהילתיות
המממ..
טופס שממלאים אותו והוא מייצר node.. נשמע לי מוכר.. :)
כן, גם לי זה הדהד מוכר
וזה מביא אותי לשאלה אחרת: כיצד ניתן לגרום למערכת לשלוח מייל בכל פעם שילחצו על כפתור submit בטופס שנוצר בcck?
במילים אחרות, מה שאני צריכה הוא לאפשר טופס באתר שבכל פעם שגולש ימלא אותו:
1. ישלח מייל למנהל האתר עם תוכן הטופס.
2. תוצאות הטופס ישמרו ואוכל להציג אותם באתר בחיתוכים שונים.
רעיונות?
ליאת שדה-סעדון
לומבי - בניית אתרים ופיתוח הדרכה | www.lomby.co.il
בעניין: כן, גם לי זה הדהד מוכר
http://drupal.org/project/workflow_ng
מממ... נשמע טוב
תודה!
ליאת
ליאת שדה-סעדון
לומבי - בניית אתרים ופיתוח הדרכה | www.lomby.co.il