![]() |
לחיצה על SUBMIT מנוטרל?
PHP קוד:
פשוט מאוד ה CHECKBOX כאשר לוחצים עליו זה מפעיל ומנטרל את ה SUBMIT מה שאני רוצה שאם ילחצו על הSUBMIT והוא מנוטרל זה יציג שגיאה אם אני עושה ONCLICK על הSUMBIT זה לא עובד אם הוא מנוטרל אשמח לעזרה |
תקנו אותי אם אני טועה במרבית הדפדפנים המודרנים אירועי DOM לא אפשריים על שדות שהם מושבתים (disabled) - הדפדפן לא יודע שהוא קיבל לחיצה וגם לא יודע להעביר את אירוע הלחיצה.
פתרון שעלה לי לראש, אתה יכול לעטוף את הכפתור ב-DIV ולעקוב אחר הלחיצה עליו. בהצלחה |
לכפתור תתן מראה של disabled באמצעות css ותחבר לו את הפונקציה הרצויה ב- onclick,
את הביטול של שליחת הטופס תבצע באמצעות האירוע onsubmit שלו. |
אמור לעבוד ולעשות את העבודה:
HTML קוד:
<!DOCTYPE html> |
זה לא יעבוד, כמו שאביב אמר - הדפדפן לא יריץ את זה כאשר הכפתור מוגדר כ- disabled.
http://jsfiddle.net/d6Rav |
כמו שאדיר ציין, מאוד חשוב לבצע את הולידציה של משלוח הטופס לא על כפתור השליחה אלא על ארוע השליחה של הטופס, כלומר ארוע onsubmit.
למה? כי הנחת העבודה שלנו צריכה להיות שלא משנה לנו כיצד המשתמש הגיע למצב שהטופס מנסה להשלח. במילים אחרות, לא משנה לנו אם המשתמש לחץ על כפתור "שלח", לחץ enter כשהוא באחד מה-Input-ים או שסקריפט javascript במקום אחר מנסה לשלוח את הטופס מסיבה לא ברורה. בסופו של דבר, אנחנחו רוצים לעשות את הולידציה כששולחים את הטופס ויהי מה. לא כשלוחצים על כפתור השליחה ולא בשום פעולה/ארוע אחרים. |
ציטוט:
אז ניתן לעשות מה שאני מבקש? חוץ מלעטוף עם DIV שאז זה בעייתי יותר? או שבאמת כאשר הכפתוןר מנוטרל לא ניתן? |
ציטוט:
http://jsfiddle.net/zqNvQ/1/ |
ציטוט:
|
ציטוט:
כמו שאדיר ויגאל אמרו onsubmit הוא אירוע המייצג שליחת טופס בין אם זה באמצעות כפתור Submit או כול טריגר שמפעיל את submit() (שים לב onsubmit מתייחס לאובייקט הטופס). לעומת onclick שהוא אירוע יותר כללי - לחיצה על הכפתור השמאלי של העכבר. תוכל לקרוא עוד כאן. |
כל הזמנים הם GMT +2. הזמן כעת הוא 01:14. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ