תודה לכולם על ההיענות והתשובות!!
@דוד ל.ט.
הדוגמה שלך נראית עובדת לגמרי.
לא רואה שום בעיה ואני לא יכול לדמות פעול שרת במחיקה.
גם אני לא.. אבל משום מה זה עדיין לא עובד, ואין לי מושג למה?
אולי בגלל שיש לי טבלת אנשי קשר, ולכל איש קשר יש קישור למחיקה שפותח את אותו מודל, ורק מציב בו ערכים שונים ע"י הJS, לכן בפעם הראשונה שאני לוחץ עליו זה עובד טוב. אולם אח"כ כשאני רוצה למחוק איש קשר נוסף, אז הוא לא יודע את מה לסגור, כי הוא חושב שאני מתכוון לקודם?
למרות שזה לא כ"כ הגיוני שהרי הוא סגר אותו וחיסל אותו, לא? וממילא אובייקט המודל הקודם כבר לא קיים בכלל.. או שאולי עדיין יש לו בזכרון הפניות אליו ולכן הוא מתבלבל??
@דוד ל.ט.
לא הבנתי מה תפקיד האטריביוט הזה data-href.
ואברהם, אני מתקנא ברמה. אני ממש לא שמה בweb.
קודם כל, תודה על המחמאה, אבל הלוואי שהייתי בweb מתקרב לרמה שלך :lol:
האטריביוט הזה אכן מיותר, בהתחלה השתמשתי בו כי בהתחלה חשבתי שהלחיצה על כפתור אישור תפעיל אירוע ששולח בקשה לכתובת הזאת ישירות, אולם משום מה לא הצלחתי, (בשלב ההוא עוד השתמשתי ב Jquery-ui modal), כי הוא לא זיהה את הכפתור שמופיע במודל, וממילא לא יכלתי לשתול בו את הקישור בצורה דינמית.
אח"כ חשבתי על הרעיון שהמודל יכיל טופס פשוט (שבסה"כ מחזיק את הID של האיש קשר) ושלוחצים על אישור בעצם מפעילים submit לקישור המבוקש.
השאלה שלי היא האם ישנה דרך פשוטה יותר בלא שימוש בsubmit, אלא שהלחיצה על אישור פשוט תיתן אור ירוק לביצוע הפעולה הראשונית? כגון, יש קישור למחיקה, ברגע שלוחצים עליו זה פותח את המודל, ובמידה והאדם לחץ על אישור זה יפעיל את הקישור, ובמידה ולא - יבטל את הפעולה.
ראיתי שיש את הפקודה
confirm שהיא דומה לalert ובעצם עושה את מה שאני מחפש, אלא שבהתחלה לא ידעתי על קיומה, וכיון שכך אני כבר מחפש לדעת איך לעשות זאת ע"י modal.
@םןץףך
ר' אברהם (הלוי)!
אולי תתן קצת הסבר מה רצית לעשות שם איך ולמה וכמה.
לטובת אלה (אני) שלא בעניינים.
ומה זה השירות הזה בדיוק? (codepen)
תודה.
קודם נתחיל בזה שאני לא ר' ולא לוי :lol:
את ההסבר כתבתי בהודעה הראשונה, אבל נחזור בקצרה, אני רוצה לעשות משהו בדומה ל - message.show() רק בווב, דהיינו הודעה קופצת שתוודא שאכן המשתמש מודע ומאשר את מה שהוא עושה (בד"כ לפני ביצוע פעולות משמעותיות שאין אחריהם דרך חזרה.. כגון מחיקה, תשלום וכדו').
לשם כך, יש בJS אפשרות להשתמש בפקודה alert שהיא מקפיצה למשתמש חלון עם הודעה, אלא ששם אני לא יכול (או לא יודע..) להוסיף כפתורים כעין "אישור / ביטול", ולכן צריך לעשות הודעה מותאמת אישית.
לשם כך (ולעוד דברים, כמובן) יש ב - bootstrap (שהיא ספרית עיצוב, ובדומה לה jquery-ui) דבר שנקרא "modal" שהוא מקפיץ חלון על המסך, שמאחוריו יש רקע שחור חצי שקוף, ובו אתה יכול להציב טופס שלם, או סתם הודעה עם כפתורי אישור וביטול וכו'.
הענין הוא, שאצלי לאחר הלחיצה על אישור זה מסתיר את ההודעה, אך לא את הרקע השחור, וממילא א"א לחזור למסך עצמו בדפדפן, אא"כ נרפרש את הדף מחדש.
codepen זהו עורך טקסט חינמי (html,css,js) וובי, שדרכו אפשר לשתף דוגמאות קוד, כאשר רוצים לשאול שאלות או להראות דוגמ' וכדו' באופן מקוון. יש גם את jsfiddle המוכר, ואת JS Bin
וארכיטקט, הפקודה היא:
function closeModal() {
$('.modal').modal('hide');
};
ובאובייקט אני מגדיר שהוא יקרא לה לפני ביצוע הsubmit:
var options = {
beforeSubmit: closeModal,
success: showData
};
ואת האובייקט אני מעביר לפונקציה ajaxForm, שאני מייבא אותה מספריה חיצונית בשם הזה, שכאשר מעבירים לה את ההגדרות באובייקט היא יודעת שהיא צריכה לקרוא לפונקציה closeModal לפני הsubmit ולפונקציה showData לאחר הצלחת הפעולה.
שוב, תודה ומצטער שיצא ארוך ומייגע..
פורסם במקור בפורום CODE613 ב24/02/2016 10:50 (+02:00)